美文网首页
16 - 序列图片

16 - 序列图片

作者: 西巴撸 | 来源:发表于2017-01-08 22:23 被阅读27次

HTML结构

// 动画组总共有18块碎片 所以就是18个li
<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>

Css样式

<style>
        * {
            margin: 0;
            padding: 0;
            border: 0;
        }

        li {
            list-style-type: none;
        }

        ul {
            width: 600px;
            height: 300px;
            border: 1px solid #000;
            margin: 100px auto;
        }

        ul li {
            width: 100px;
            height: 100px;
            float: left;
            position: relative;
            background: url("images/pic.jpg");
        }
</style>

Js代码

<script src="js/MyFunc.js"></script>
<script>
    window.onload = function () {
        var allLis = document.getElementsByTagName('li');
        // 1. 设置图片
        for (var i = 0; i < allLis.length; i++) {
            // 1.1 求出行和列
            allLis[i].cols = i % 6;
            allLis[i].rows = parseInt(i / 6);

            /*allLis[i].innerHTML = '('+allLis[i].rows+', '+allLis[i].cols+')';*/
            // 1.2 设置背景坐标
            allLis[i].style.backgroundPosition = allLis[i].cols * -100 + 'px ' + allLis[i].rows * -100 + 'px';
        }

        // 2. 开启动画
        var as = {
            a0: function () {
                for (var i = 0; i < allLis.length; i++) {
                    // 2.1 移动位置
                    allLis[i].style.left = -600 + 'px';
                    allLis[i].style.top = -300 + 'px';
                    allLis[i].style.opacity = 0;

                    // 2.2 归位
                    (function (index) {
                        setTimeout(function () {
                            buffer(allLis[index], {left: 0, top: 0, opacity: 1})
                        }, index * 100);
                    })(i);
                }
            },
            a1: function () {
                for (var i = 0; i < allLis.length; i++) {
                    var dis = 300;
                    // 2.1 移动位置
                    allLis[i].style.top = (dis *= -1) + 'px';
                    allLis[i].style.opacity = 0;

                    // 2.2 归位
                    (function (index) {
                        setTimeout(function () {
                            buffer(allLis[index], {top: 0, opacity: 1})
                        }, index * 100);
                    })(i);
                }
            },
            a2: function () {
                for (var i = 0; i < allLis.length; i++) {
                    var dis = 300;
                    // 2.1 移动位置
                    allLis[i].style.top = dis + 'px';
                    allLis[i].style.opacity = 0;

                    // 2.2 归位
                    (function (index) {
                        setTimeout(function () {
                            buffer(allLis[index], {top: 0, opacity: 1})
                        }, allLis[index].cols * 100);
                    })(i);
                }
            },
            a3: function () {
                for (var i = 0; i < allLis.length; i++) {
                    var dis = 300;
                    // 2.1 移动位置
                    allLis[i].style.top = dis + 'px';
                    allLis[i].style.opacity = 0;

                    // 2.2 归位
                    (function (index) {
                        setTimeout(function () {
                            buffer(allLis[index], {top: 0, opacity: 1})
                        }, index * 100);
                    })(i);
                }
            },

            a4: function () {
                for (var i = 0; i < allLis.length; i++) {
                    var dis = 600;
                    // 2.1 移动位置
                    allLis[i].style.left = dis + 'px';
                    allLis[i].style.opacity = 0;

                    // 2.2 归位
                    (function (index) {
                        setTimeout(function () {
                            buffer(allLis[index], {left: 0, opacity: 1})
                        }, allLis[index].cols * 100);
                    })(i);
                }
            },

            a5: function () {
                for (var i = 0; i < allLis.length; i++) {
                    var dis = 600;
                    // 2.1 移动位置
                    allLis[i].style.left = dis + 'px';
                    allLis[i].style.opacity = 0;

                    // 2.2 归位
                    (function (index) {
                        setTimeout(function () {
                            buffer(allLis[index], {left: 0, opacity: 1})
                        }, index * 100);
                    })(i);
                }
            }
        };

        as.a0();
        var num = 0;
        setInterval(function () {
            num++;
            num %= 6;
            as['a' + num]();
        }, 4000);

    }
</script>

特效展示

  • 此动画并不完整 会有点bug 但是足够可以帮助小白理解Js动画
序列图片

相关文章

  • 16 - 序列图片

    HTML结构 Css样式 Js代码 特效展示 此动画并不完整 会有点bug 但是足够可以帮助小白理解Js动画

  • 08.HTML列表

    无序列表 展示图片 有序列表 展示图片 定义列表 示例图片

  • MarkDown语法

    name name 行内代码 引用图片.png 有序列表 有序列表二图片.png 无序列表1 无序列表2 无序列表...

  • 06.CSS列表

    无序列表 运行图片 有序列表 运行图片 列表图像 运行图片 列表标记位置 运行图片 简写语法

  • MarkDown语法(有图片对比更易学)

    标题 列表 无序列表: 有序列表: 链接、图片 链接 图片 引用 粗体、斜体 换行、分段 水平标尺 下面是图片显示...

  • 2018-03-27

    Markdown基本语法总结 列表 有序列表 无序列表 - 插入 插入图片例子:[图片上传失败...(image-...

  • EDIUS如何导入图片序列

    不知道大家对图片序列有没有概念,其实图片序列从本质上来说,就是一段视频素材,只不过视频在输出的时候是按照图片序列的...

  • test

    标题 列表 无序列表 苹果 香蕉 加农炮 有序列表 薯条 汉堡 快乐水 链接和图片 链接 bilibili 图片 ...

  • 2018-08-15

    标题 这是一段文字 无序列表 列表1 列表2 有序列表 列表1 列表2 链接 google 图片 图片查看[图片上...

  • 烂笔头:Markdown

    多级标题 # 无序列表 - 有序列表 1. 链接 图片 显示链接中带()的图片 引用 > 粗体 ** 斜体 * 单...

网友评论

      本文标题:16 - 序列图片

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