左右按钮可点击轮播(不是无缝滚动)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>轮播左右</title>
    <script src="js/jquery-1.7.1.js"></script>
    <style>
        .list{
             250px;
            height: 47px;
            overflow: hidden;
            border: 1px solid #d74147;
            position: relative;
        }
        .list ul{
            padding-top: 0 !important;
            padding-left: 0 !important;
            margin-top: 0 !important;
            position: absolute;
            top: 0;
             500px;
        }
        .list ul li{
             50px;
            line-height: 30px;
            list-style: none;
            text-align: center;
            float: left;
        }
    </style>
    <script type="text/javascript">
        $(function(){
            //class为lis给一个变量名叫$ul
            var $ul = $('.lis');
            //在ul下查找所有的li,获取li的宽度
            var $liWidth = $ul.find('li').css('width');
            //
            var direction = 'left';
            //按钮class为left的点击事件,并且direction=left,下面反之
            $('.left').on('click',function(){
                direction = 'left';
            });
            $('.right').on('click',function(){
                direction = 'right';
            });
            //给定时器setInterval函数申明一个变量为leftInterval
            var leftInterval = setInterval(function(){
                //为什么放这边(如果放在定时器外面,只能往一个方向【left】动,因为定时器在IF里面)
                //如果direction=left
                if(direction == 'left'){
                    //查找ul下得li的第一个li,并且声明变量为$liFirst
                    var $liFirst = $('.lis').find('li').first();
                    //ul向左运动的长度为li的宽度,速度是slow
                    $ul.animate({left: '-' + $liWidth}, 'slow', function(){
                        //移动好后,每次都把第一个的插入到ul得最后
                        $liFirst.appendTo($ul);
                        //因为每次第一个往左移动,后面的第一个再往左移动,如果不把他
                        $ul.css('left', 0);
                    });
                }
                else{
                    var $liLast = $('.lis').find('li').last(); 
                    $liLast.prependTo($ul);
                    $ul.css('left', '-' + $liWidth);
                    $ul.animate({left: 0}, 'slow');
                }
            }, 1000);
//            clearInterval(leftInterval());

            //1. 动画 left 负值
            //2. 头移到尾
            //3. left 从负值设为0

            //1. left 从0设为负值
            //2. 尾移到投
            //3. 动画 left 0





        });
    </script>
</head>
<body>
<div class="list">
    <ul class="lis">
        <li>11111</li>
        <li>22222</li>
        <li>33333</li>
        <li>44444</li>
        <li>55555</li>

        <li>11111</li>
        <li>22222</li>
        <li>33333</li>
        <li>44444</li>
        <li>55555</li>
    </ul>
</div>
<input type="button" value="left" class="left" />
<input type="button" value="right" class="right" />
</body>
</html>

  

原文地址:https://www.cnblogs.com/shenq/p/4924694.html