美文网首页基础前端
拼图图片原理 2019-03-22

拼图图片原理 2019-03-22

作者: CondorHero | 来源:发表于2019-03-23 00:01 被阅读8次

原理解释:

根据实际效果我们知道,图片被瓜分为大小相同的盒子,每个盒子绝对定位,小盒子里面放图片,通过调整小盒子里的图片位置来控制显示出来的区域,再由小盒子共同拼成一张大图。这就是我们看到的图片拼图。 拼图图片原理.gif
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>拼图轮播</title>
    <style>
    *{
        margin: 0;
        padding: 0;
    }
    /*给每个盒子添加背景图、大小、定位*/
        div {
            height: 100px;
            width: 100px;
            border: 1px solid skyblue;
            background: url(images/befu.jpg);
            position: absolute;
        }
    </style>
</head>
<body>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
    
    <script src = "js/jquery-1.12.3.min.js"></script>
    <script>
        //使用each 遍历
        $("div").each(function(i){
            $(this).css({
                //设置默认样式
                "top" : 200,
                "left" : 800,
                "background-position" : -i%8*100 + "px " + -parseInt(i/8)*100 + "px"
                // 超级无敌大坑中间px 后面有一个空格,空格后面必须有加号。
            }).delay(i*300).animate({
                //设置延迟,运动目的。
                "top" : parseInt(i/8)*100,
                "left" : i%8*100,
            },1000);
        });
    </script>
</body>
</html>

可能大家看不懂 animate后面的运动目的地,它的计算公式怎么来的?
特殊说明下:


我们一共把图分成八列五行使用each进行遍历的时候,编号从零开始到三十九。一共四十个盒子。我们在算目的地要求第一行0~7编号 top 为零,左边第一列0 8 16 32 编号 left 为零。以此类推第二列第二行......
得出如下公式;均除以列数就行了
top : parseInt(i/8)*100,
left : i%8*100,

代码优化,写 div 太麻烦了,使用 jQuery 批量添加 div 盒子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>拼图轮播</title>
    <style>
    *{
        margin: 0;
        padding: 0;
    }
    /*给每个盒子添加背景图、大小、定位*/
        div {
            height: 100px;
            width: 100px;
            border: 1px solid skyblue;
            background: url(images/befu.jpg);
            position: absolute;
        }
    </style>
</head>
<body>
    <script src = "js/jquery-1.12.3.min.js"></script>
    <script>
        //创建div盒子代码
        for(var row = 0; row < 8;row++)
            for (var col = 0; col <5 ; col++) {
                var $div = $("<div></div>");
                $("body").append($div);
        }
        
        $("div").each(function(i){//使用each 遍历
            $(this).css({
                //设置默认样式
                "top" : 200,
                "left" : 800,
                "background-position" : -i%8*100 + "px " + -parseInt(i/8)*100 + "px"
                // 超级无敌大坑中间px 后面有一个空格,空格后面必须有加号。
            }).delay(i*300).animate({
                //设置延迟,运动目的。
                "top" : parseInt(i/8)*100,
                "left" : i%8*100,
            },1000);
        });
    </script>
</body>
</html>

相关文章

  • 拼图图片原理 2019-03-22

    原理解释: 可能大家看不懂 animate后面的运动目的地,它的计算公式怎么来的?特殊说明下: 我们一共把图分成八...

  • 图片拼图

    https://www.kesci.com/home/project/5e39477db8c462002d668b4e

  • 我们一家都玩拼图

    我玩拼图 画画的拼图 老弟玩水果拼图 妈妈玩文字拼图 爸爸玩图片拼图 爷爷玩瓷砖拼图 我们一家都玩拼图

  • 2018-09-19

    拼图拼视频 第一步:点击首页“拼图拼视频” 第2步:图片和视频都可以拼! 第3步:图片和视频可替换,拼图模版可更换...

  • 2019-03-22

    2019-03-22

  • 2019-03-22

    2019-03-22

  • 技术分享

    图片搜索原理 主要介绍图片搜索的技术原理,以及简单的实现方法 相似图片搜索原理一 相似图片搜索原理二 学点什么 t...

  • 拼图APP分析 重设计

    简介 拼图应用:把几张图片合成为一张图片。 用户目标:做出一张好看的拼图。 使用人群:10-30岁,学生和上班族,...

  • 海报拼图是什么?如何快速制作海报拼图?

    海报拼图是什么? 海报拼图是一款用于制作精美海报图片的工具,一个 手机APP,就能满足所有照片拼图和编辑的需求。让...

  • 小憨微课每天学会一个小技能!用PS无缝隙拼图片,简单实用!

    最近有不少朋友说,自己用修图软件拼合图片,出来的效果图片变模糊了,如果用PS该怎么拼图呢?其实用PS无缝隙拼图很简...

网友评论

    本文标题:拼图图片原理 2019-03-22

    本文链接:https://www.haomeiwen.com/subject/ewjdvqtx.html