jQuery 动画

作者: LiLi原上草 | 来源:发表于2018-05-10 18:35 被阅读0次

    最近有一官网的需求要来,想想,为了更好的照顾那些石器时代的人使用的浏览器,还是考虑用jquery来做了;因为好久没有用jQ了,感觉都有点遗忘了,正好官网上也有要实现的动画,就随手写了两小示例,做个随手笔记吧;

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8"/>
        <title></title>
        <style type="text/css">
            * {padding:0; margin: 0;}
            #banner{
                float: left;
                margin-left: 100px;
            }
            #animation{
                float: left;
                margin-left: 100px;
                margin-top: 50px;
            }
            .backBox {
                border: 2px solid red;
                width: 200px;
                height: 500px;
                margin : 50px auto; 
                position: relative;
            }
            .movingNode {
                width: 200px;
                height: 100px;
                display: block;
                line-height: 120px;
                position: absolute;
            }
            .movingNode p {
                display: inline-block;
                height: 40px;
                width: 100%;
                background-color: green;
            }
            ul {
                position: relative;
            }
            ul li {
                position: absolute;
                list-style: none;
                height: 200px;
                width: 200px;
            }
        </style>
        <script type="text/javascript" src="./jquery-3.2.1.js"></script>
    </head>
    <body>
        <div id="banner">
            <div class="backBox">
            </div>
        </div>
        <div id="animation">
            <ul>
                <li style="background-color: red; display: block"></li>
                <li style="background-color: yellow; display: none"></li>
                <li style="background-color: blue; display: none"></li>
                <li style="background-color: pink; display: none"></li>
            </ul>
        </div>
    </body> 
    
    </html>
    <script type="text/javascript">
        let parent = $('.backBox');
        let imgs = $('li');
        let moveNode = `<span class="movingNode"><p></p></span>`
    
        upwardRound(parent, moveNode, 800, 100);
        chengImgGif(imgs, 1000);
        
        function upwardRound (parentNode, moveNode, speed, height) {
            let no = setInterval(function () {
                creatMoveItem();
            }, speed);
    
            function creatMoveItem () {
                let movingNode = $(moveNode);
                movingNode.css({
                    'top': height * 4 + 'px',
                    'opacity': '0'
                });
                parentNode.append(movingNode);
    
                movingNode
                .animate({
                    'opacity': '1',
                    'top':  height * 3 + 'px'
                }, speed, 'linear', function () {
                    
                })
                .animate({
                    'top': height + 'px'
                }, speed*2, 'linear', function () {
                    
                })
                .animate({
                    'opacity': '0',
                    'top': '0'
                }, speed, 'linear', function () {
                    movingNode.remove();
                })
            }
        }
    
        function chengImgGif(nodes, IntervalTime) {
            let count = 0;
            let no1 = setInterval(function () {
                changeImg(nodes);
            }, IntervalTime);
    
            function changeImg (nodes) {
                count ++;
                if (count == nodes.length) {
                    count = 0;
                }
                for (let i = 0; i < imgs.length; i ++) {
                    $(imgs[i]).css('display', 'none');
                }
                $(imgs[count]).css('display', 'block');
            }
        }
         
    </script>
    

    相关文章

      网友评论

        本文标题:jQuery 动画

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