美文网首页
js实现横向轮播效果

js实现横向轮播效果

作者: 前端召唤师 | 来源:发表于2019-06-26 15:31 被阅读0次

    参考:https://www.cnblogs.com/LIUYANZUO/p/5679753.html

    html:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
            <title>js横向轮播</title>
            <style type="text/css">
                body {
                    margin: 0;
                }
    
                #container {
                    position: relative;
                    width: 100%;
                    height: 300px;
                    overflow: hidden;
                    z-index: -1;
                }
    
                #list {
                    position: absolute;
                    width: 4200px;
                    height: 300px;
                }
    
                #list .img {
                    float: left;
                    /* width: 375px; */
                    height: 300px;
                }
            </style>
        </head>
        <body>
            <div id="container">
                <div id="list"></div>
            </div>
        </body>
        <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
        <script type="text/javascript">
            window.onload = function() {
                var container = document.getElementById('container'),
                    list = document.getElementById('list'),
                    index = 1;
                $('#list').css('left', -screen.width + 'px');
                var timer;
                var imgList = [{
                            src: 'img/1.jpg'
                        },
                        {
                            src: 'img/2.jpg'
                        },
                        {
                            src: 'img/3.jpg'
                        },
                        {
                            src: 'img/4.jpg'
                        },
                        {
                            src: 'img/5.jpg'
                        }
                    ],
                    l = imgList.length - 1,
                    len = imgList.length,
                    w = screen.width,
                    string = '';
                string = makeStr(imgList, l);
                $('#list').append(string);
                var j = 0;
                while (j < imgList.length) {
                    string = makeStr(imgList, j);
                    $('#list').append(string);
                    j++;
                }
                string = makeStr(imgList, 0);
                $('#list').append(string);
                $('#list .img').css('width', screen.width + 'px');
    
                function makeStr(arr, i) {
                    string = "<div class='img' style='background:url(" +
                        arr[i].src + ") no-repeat;background-size:100%'/></div>";
                    return string;
                }
    
                function animate(offset) {
                    var newLeft = parseInt(list.style.left) + offset;
                    list.style.left = newLeft + 'px';
                    if (newLeft > -w) {
                        list.style.left = w * len + 'px';
                    }
                    if (newLeft < -w * len) {
                        list.style.left = -w + 'px';
                    }
                }
    
                function play() {
                    timer = setInterval(function() {
                        start();
                    }, 2000)
                }
    
                function start() {
                    index += 1;
                    if (index > len) {
                        index = 1
                    }
                    animate(-w);
                };
    
                function stop() {
                    clearInterval(timer);
                }
                if (imgList.length > 1) {
                    play();
                }
            }
        </script>
    </html>
    
    

    相关文章

      网友评论

          本文标题:js实现横向轮播效果

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