滑动轮播图

自己写了个简单的滑动轮播特效分享给大家:

代码如下:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <style>
    *{margin:0px;padding:0px;list-style: none;}
    /*先对所有的li进行绝对定位,然后通过改变left和top属性实现滑动效果*/
    body{position: relative;}
    .left{position: relative;width:300px;height:340px;margin:100px 00px;border: 1px solid;overflow: hidden;float:left;}
    .up{position: relative;width:340px;height:300px ;margin:120px 100px;border: 1px solid;overflow: hidden;float:left;}

    ul li{width:300px;height: 300px;float:left;position: absolute;font-size: 50px;line-height: 300px;text-align: center;color:white;}

    .left ul li{top:20px;left:300px;}
    .up ul li{top:-300px;left:20px;}

    ol{position: absolute;z-index: 100;}
    ol li{margin: 5px;background: white;cursor: pointer;}
    .left ol{bottom:20px;left:10px;}
    .left ol li{width:20px;height: 5px;float:left;}

    .up ol{top:20px;right:20px;}
    .up ol li{width:5px;height: 20px;}

    .top{z-index: 99;}
    </style>
    <body>
        <!-- 左右滑动部分 -->
        <div class='left'>
            <!-- ul和ol下的li数量一致 -->
            <ul class='banner'>
                <li style='background-color:#FF99CC;left:0px;'>would</li>
                <li style='background-color: #CCCCFF;'>you</li>
                <li style='background-color: #99CC33;'>marry</li>
                <li style='background-color: #99CCCC;'>me</li>
                <li style='background-color: #CC99CC;'>?</li>
            </ul>
            <ol>
                <li style='background-color:black;'></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
            </ol>
        </div>

        <!-- 上下滑动部分 -->
        <div class='up'>
        <!-- ul和ol下的li数量一致 -->
            <ul class='banner2'>
                <li style='background-color: #FF99CC;top:0px;'>would</li>
                <li style='background-color: #CCCCFF;'>you</li>
                <li style='background-color: #99CC33;'>marry</li>
                <li style='background-color: #99CCCC;'>me</li>
                <li style='background-color: #CC99CC;'>?</li>
            </ul>
            <ol>
                <li style='background-color:black;'></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
            </ol>
        </div>
    </body>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        $(document).ready(function(){
            (function(){
                // 左右滑动 leftright()
                function lr(){
                    var num=0;
                    var asd=0;
                    var length=$('.banner li').length;
                    var clock;
                    clock=setInterval(auto,3000)
                    function auto(){
                        asd=num;
                        num+=1;
                        if(num>=length){
                            num=0
                        }
                        change();
                    }
                    function change(){
                        $('.left ul li').eq(num).animate({left:'0px'},1000).addClass('top');
                        $('.left ul li').eq(asd).animate({left:'-300px'},1000,function(){
                            $(this).css('left','300px')
                        }).removeClass('top');

                        $('.left ol li').css('background','white');
                        $('.left ol li').eq(num).css('background','black');
                    };

                    $('.left ol li').click(function(){
                        asd=num;
                        clearInterval(clock);
                        num=$(this).index();
                        if(num<asd){
                            $('.left ul li').eq(num).css('left','-300px');
                            $('.left ul li').eq(asd).animate({left:'300px'},1000).removeClass('top');
                            $('.left ul li').eq(num).animate({left:'0px'},1000).addClass('top');

                            $('.left ol li').css('background','white');
                            $('.left ol li').eq(num).css('background','black');
                        }else if(num==asd){
                            return false;
                        }else{
                            change();
                        };

                        clock=setInterval(auto,3000);
                    });
                    $('.left').mouseover(function(){
                        clearInterval(clock);
                    });
                    $('.left').mouseout(function(){
                        clearInterval(clock);
                        clock=setInterval(auto,3000);
                    });

                };

                // 上下滑动 updown()
                function ud(){
                    var num2=0;
                    var asd2=0;
                    var length2=$('.banner2 li').length;
                    var clock2; 
                    clock2=setInterval(auto2,3000)
                    function auto2(){
                        asd2=num2;
                        num2+=1;
                        if(num2>=length2){
                            num2=0
                        }
                        change2();
                    }
                    function change2(){
                        $('.up ul li').eq(num2).animate({top:'0px'},1000).addClass('top');

                        $('.up ul li').eq(asd2).animate({top:'300px'},1000,function(){
                            $(this).css('top','-300px')
                        }).removeClass('top');

                        $('.up ol li').css('background','white');
                        $('.up ol li').eq(num2).css('background','black');
                    };

                    $('.up ol li').click(function(){
                        asd2=num2;
                        clearInterval(clock2);
                        num2=$(this).index();
                        if(num2<asd2){
                            $('.up ul li').eq(num2).css('top','300px');
                            $('.up ul li').eq(asd2).animate({top:'-300px'},1000).removeClass('top');
                            $('.up ul li').eq(num2).animate({top:'0px'},1000).addClass('top');
                            $('.up ol li').css('background','white');
                            $('.up ol li').eq(num2).css('background','black');
                            // $('ul li').css('top','300px');
                        }else if(num2==asd2){
                            return false;
                        }else{
                            change2()
                        };


                        clock2=setInterval(auto2,3000);
                    });


                    $('.up').mouseover(function(){
                        clearInterval(clock2);
                    });
                    $('.up').mouseout(function(){
                        clearInterval(clock2);
                        clock2=setInterval(auto2,3000);
                    });
                };
                lr();
                ud();
            })();
        });

    </script>
</html>

这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值