jQuery实现div左右滑动

直接上代码

<body>  
        <div class="v_out v_out_p">
        <div class="prev">
            <a href="javascript:void(0)"></a>
        </div>
        <div class="v_show">
            <div class="v_cont">
                <ul>
                    <li index="0" style="background: #f00">[第1讲]</li>
                    <li index="1" style="background: #ff0">[第2讲]</li>
                    <li index="2" style="background: #f0f">[第3讲]</li>
                    <li index="3" style="background: #999">[第4讲]</li>
                    <li index="4" style="background: #666">[第5讲]</li>
                </ul>
            </div>
        </div>
        <div class="next">
            <a href="javascript:void(0)"></a>
        </div>
        <ul class="circle">
            <li class="circle-cur">1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
        </ul>
    </div>
    <script type="text/javascript">
        $(function () {

            /*======next======*/
            $(".next a").click(function () { nextscroll() });

            function nextscroll() {

                var vcon = $(".v_cont ");
                var offset = ($(".v_cont li").width()) * -1;

                vcon.stop().animate({ left: offset }, "slow", function () {

                    var firstItem = $(".v_cont ul li").first();
                    vcon.find("ul").append(firstItem);
                    $(this).css("left", "0px");

                    circle()

                });

            };


            function circle() {

                var currentItem = $(".v_cont ul li").first();
                var currentIndex = currentItem.attr("index");

                $(".circle li").removeClass("circle-cur");
                $(".circle li").eq(currentIndex).addClass("circle-cur");

            }

            //setInterval(nextscroll,2000)

            /*======prev======*/
            $(".prev a").click(function () {

                var vcon = $(".v_cont ");
                var offset = ($(".v_cont li").width() * -1);

                var lastItem = $(".v_cont ul li").last();
                vcon.find("ul").prepend(lastItem);
                vcon.css("left", offset);
                vcon.animate({ left: "0px" }, "slow", function () {
                    circle()
                })

            });

            /*======btn====circle======*/
            var animateEnd = 1;

            $(".circle li").click(function () {

                if (animateEnd == 0) { return; }

                $(this).addClass("circle-cur").siblings().removeClass("circle-cur");

                var nextindex = $(this).index();
                var currentindex = $(".v_cont li").first().attr("index");
                var curr = $(".v_cont li").first().clone();

                if (nextindex > currentindex) {

                    for (var i = 0; i < nextindex - currentindex; i++) {

                        var firstItem = $(".v_cont li").first();
                        $(".v_cont ul").append(firstItem);

                    }

                    $(".v_cont ul").prepend(curr);

                    var offset = ($(".v_cont li").width()) * -1;

                    if (animateEnd == 1) {

                        animateEnd = 0;
                        $(".v_cont").stop().animate({ left: offset }, "slow", function () {

                            $(".v_cont ul li").first().remove();
                            $(".v_cont").css("left", "0px");
                            animateEnd = 1;

                        });

                    }

                } else {

                    var curt = $(".v_cont li").last().clone();

                    for (var i = 0; i < currentindex - nextindex; i++) {
                        var lastItem = $(".v_cont li").last();
                        $(".v_cont ul").prepend(lastItem);
                    }

                    $(".v_cont ul").append(curt);

                    var offset = ($(".v_cont li").width()) * -1;

                    $(".v_cont").css("left", offset);


                    if (animateEnd == 1) {

                        animateEnd = 0;
                        $(".v_cont").stop().animate({ left: "0px" }, "slow", function () {

                            $(".v_cont ul li").last().remove();
                            animateEnd = 1;

                        });

                    }

                }

            });

        })

    </script>
    <style>
        *
        {
            margin: 0px;
            padding: 0px;
            list-style-type: none;
        }
        .v_out
        {
            width: 748px;
            margin: 20px auto;
            overflow: hidden;
        }
        .v_show
        {
            width: 665px;
            overflow: hidden;
            position: relative;
            height: 280px;
            float: left;
        }
        .v_cont
        {
            width: 6650px;
            position: absolute;
            left: 0px;
            top: 0px;
        }
        .v_cont ul
        {
            float: left;
            text-align: center;
            line-height: 50px;
        }
        .v_cont ul li
        {
            width: 665px;
            height: 250px;
            background: #f8f8f8;
            float: left;
            margin-top: 3px;
        }

        /*---圆圈---*/
        .v_out_p
        {
            position: relative;
            overflow: visible;
        }
        .circle
        {
            position: absolute;
            left: 40px;
            top: 290px;
        }
        .circle li
        {
            width: 120px;
            height: 60px;
            float: left;
            margin-right: 10px;
            background: #ccc;
        }
        .circle .circle-cur
        {
            background: #f00;
        }

        /*---切换---*/
        .prev, .next
        {
            float: left;
            padding: 105px 9px 0;
        }
        .prev a
        {
            background: #f00;
        }
        .prev .ico_1
        {
            background: url(input_a.gif) no-repeat 0 -3757px;
        }

        .next a
        {
            background: #f00;
        }
        .next .ico_2
        {
            background: url(input_a.gif) no-repeat right -3757px;
        }
        .prev, .prev a, .next, .next a
        {
            width: 21px;
            height: 28px;
            display: block;
        }
    </style>
    <div style="width: 1200px;height: 100px;background-color: red;"></div>
    </body>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值