css3+jsvascript 制作图片跑马灯

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>css3+jsvascript 制作图片跑马灯</title>
        <style type="text/css">
            * { transition: .1s; list-style: none; }
            .list { position: relative; width: 800px; height: 100px; background-color: #FEFEF2; border: 1px solid #999; margin: 20px auto; overflow: hidden; }
            .list .rowup{ position: relative; width: 1600px; height: 100px; -webkit-animation: 20s rowup linear infinite normal; animation: 20s rowup linear infinite normal; }
            .ss { width: 800px; height: 100px; float: left; }
            li { float: left; width: 100px; height: 100px; }
            li img { width: 95px; height: 90px; padding: 5px 2.5px; }
        </style>
    </head>
    <body>
        <div class="list">
            <div class="cc"></div>
        </div>


        <script type="text/javascript">
            // 设置keyframes属性
            function addKeyFrames(y){
                var style = document.createElement('style');
                style.type = 'text/css';
                var keyFrames = `
                @-webkit-keyframes rowup {
                    0% {
                        -webkit-transform: translate3d(0, 0, 0);
                        transform: translate3d(0, 0, 0);
                    }
                    100% {
                        -webkit-transform: translate3d(A_DYNAMIC_VALUE, 0, 0);
                        transform: translate3d(A_DYNAMIC_VALUE, 0, 0);
                    }
                }
                @keyframes rowup {
                    0% {
                        -webkit-transform: translate3d(0, 0, 0);
                        transform: translate3d(0, 0, 0);
                    }
                    100% {
                        -webkit-transform: translate3d(A_DYNAMIC_VALUE, 0, 0);
                        transform: translate3d(A_DYNAMIC_VALUE, 0, 0);
                    }
                }`;
                style.innerHTML = keyFrames.replace(/A_DYNAMIC_VALUE/g, y);
                document.getElementsByTagName('head')[0].appendChild(style);
            }


            function init(){    
                var data = `
                    <li><img src="./images/img_1.jpg"></li>
                    <li><img src="./images/img_1.jpg"></li>
                    <li><img src="./images/img_1.jpg"></li>
                    <li><img src="./images/img_1.jpg"></li>
                    <li><img src="./images/img_1.jpg"></li>
                    <li><img src="./images/img_1.jpg"></li>
                    <li><img src="./images/img_1.jpg"></li>
                    <li><img src="./images/img_1.jpg"></li>`;


                var html = '<div class="ss">'+ data + '</div>';
                document.querySelector('.list .cc').innerHTML = html + html;
                var width = document.querySelector('.list .ss').offsetWidth;
                addKeyFrames( '-' + width + 'px' );
                document.querySelector('.list .cc').className += ' rowup';
            }
            init();
        </script>
    </body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值