• JQUERY 轮播插件


    闲来无事,写个轮播插件,项目中用到的时候就无需在写了,不然会累死宝宝的

    废话少说 代码上

    html部分

    <div class="lunbo">
            <ul>
                <li class="xianshi"><a href="#"><img src="bg_img1.jpg" alt=""/></a> </li>
                <li><a href="#"><img src="bg_img2.jpg" alt=""/></a> </li>
                <li><a href="#"><img src="bg_img3.jpg" alt=""/></a> </li>
                <li><a href="#"><img src="bg_img4.jpg" alt=""/></a> </li>
                <li><a href="#"><img src="bg_img5.jpg" alt=""/></a> </li>
            </ul>
            <ol>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
            </ol>
    </div>

    接着就是css

       *{margin: 0;padding: 0}
            .lunbo{
                width: 800px;
                height: 400px;
                border:1px solid yellowgreen;
                margin: 100px  auto  0 auto;
                position: relative;
            }
            ul{list-style: none;
                 width: 800px;
                height: 400px;
                position: relative;
    
            }
            ul img{
                width: 800px;
                height: 100%;
    
            }
            /*注意li绝对定位,使得他们在同一个地方显示,只是每一个的Z-index值不同,所以只会显示最后一个在最上面*/
            /*你不信试试给不同的Z-index不同的值*/
            ul>li{
                position: absolute;
                height: 100%;
                display: none;
            }
            ol{
                list-style: none;
                position: absolute;
                bottom: 20px;
                right: 20px;
            }
            ol>li{
                float: left;
                width: 14px;
                height: 14px;
               border-radius: 7px;
                background-color: orangered;
                margin-right: 10px;
            }

    接下来在你的页面中引入插件,并给你的插件方法传递一个对象

     $("ul>li").lunbotu({
            ImgLength:$("ul>li").length-1,//img图片的个数
            speed:5000,//每次轮播的间隔时间
            fousejiao:"#fff",//当图轮播或点击在某个小序号时候得到焦点样式
            blurjiao:"orangered"//失去焦点
        });

    紧接着就是我们的轮播实现的代码,往下看

    (function(){
        //轮播插件
        $.fn.extend({
            lunbotu:function(Canshu){
                var timer1,timer2;
                var i=1;
                var xuhao=0;
                var $ul_li=$("ul>li");
                var $ol_li=$("ol>li");
                //初次加载的时候出发轮播
                $ol_li.css({background:Canshu.blurjiao});
                $ul_li.eq(0).css("display","block");
                $ol_li.eq(0).css({background:Canshu.fousejiao});
                timer1=setInterval(lunbo,Canshu.speed);
                    function lunbo(){
                        if(i>Canshu.ImgLength){i=0;}
                        donghua(i);
                        i++;
                    }
                //定义通用函数
                function donghua(a){
                    $ul_li .fadeOut(800);
                    $ol_li.css({background:Canshu.blurjiao});
                    $ul_li.eq(a).fadeIn(500);
                    $ol_li.eq(a).css({background:Canshu.fousejiao});
                }
                //点击ol小序列号的时候,进行操纵
                $ol_li.on("click",function(){
                    clearInterval(timer1);
                    clearInterval(timer2);
                    var $index=$(this).index();
                    donghua($index);
                });
                //鼠标从ol上面移开的时候清除定时器
                $ol_li.on("mouseleave",function(){
                    clearInterval(timer1);
                    clearInterval(timer2);
                    //再一次出发轮播
                    xuhao=$(this).index();
                    timer2=setInterval(zlunbo,Canshu.speed);
                    function zlunbo() {
                        if(xuhao>=Canshu.ImgLength){xuhao=-1;}
                        donghua(xuhao+1);
                        xuhao++;
                    }
                });
            }
        });
    }());

    在本例中用了一个匿名函数避免污染全局

  • 相关阅读:
    mybatis-cache model
    多线程开发(1)
    正则表达式(3) — 正则表达式库
    正则表达式(2) — 表达式规则
    我在迈瑞工作的两年总结
    正则表达式(1) — 常用的表达式
    C++系列(2) — 智能指针
    C++系列(1) — string
    路径去除前缀
    SIMD性能优化
  • 原文地址:https://www.cnblogs.com/dangou/p/5411630.html
Copyright © 2020-2023  润新知