zoukankan      html  css  js  c++  java
  • 基于jquery的简单图片轮播----banner

    主要用到的几个JQUERY函数:

    li:nth-child(2)  第二张图的意思;

    attr() 方法设置或返回被选元素的属性值。

    setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

    先看代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>带缩略图按钮控制图片左右滑动切换代码_js代码网</title>
    <meta name="keywords" content="带缩略图按钮控制图片" />
    <meta name="description" content="jQuery带缩略图按钮控制图片左右滑动切换代码。" />
    <link href="css/style.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    
    <div class="play" id="play">
        <a href="javascript:" id="next">>><div class="nextImg"><img width="80" height="54" src="" /></div></a>
        <a href="javascript:" id="prev"><<<div class="prevImg"><img width="80" height="54" src="" /></div></a>
        <ol></ol>
        <ul>
            <li><a href="http://www.jsdaima.com/"><img src="images/1.jpg" alt="17素材1" /></a></li>
            <li><a href="http://www.jsdaima.com/"><img src="images/2.jpg" alt="17素材2" /></a></li>
            <li><a href="http://www.jsdaima.com/"><img src="images/3.jpg" alt="17素材3" /></a></li>
        </ul>
    </div>
    
    <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript">
    $(function(){
        var oDiv = $("#play");  //外部盒子
        var count = $("#play ul li").length;  //内部图片数量
        var countwidth = $("#play ul li").width();  //图片边框宽度
        var oUl = $("#play ul").css("width",count*countwidth);  //ul li总宽度
        var now = 0;
        var next = $("#next");
        var prev = $("#prev");
        //点击按钮数量
        for(var i = 0; i < count; i++){
            $("#play ol").append("<li>" + Number(i+1) + "</li>");
            $("#play ol li:first").addClass("active");
        }
        //左右点击图片获取
        var nI = $("#play ul li:nth-child(2)").find("img").attr("src");//nth-childer  函数
        $(".nextImg img").attr("src",nI);
        var pI = $("#play ul li:last-child").find("img").attr("src");
        $(".prevImg img").attr("src",pI);
        //按钮点击事件
        var aBtn = $("#play ol li");
        aBtn.each(function(index){
            $(this).click(function(){
                clearInterval(timer);
                tab(index);
                nextImg();
                prevImg();
                timer=setInterval(autoRun,2000);
            });
        });
        //图片循环事件
        function tab(index){
            now = index;
            aBtn.removeClass("active");
            aBtn.eq(index).addClass("active");
            oUl.stop(true,false).animate({"left":-countwidth * now},400);
        }
        //下一张按钮图片切换
        function nextImg(){
            var d = $("#play ul li").find("img").eq(now+1).attr("src");
            var nI = $("#play ul li:nth-child(1)").find("img").attr("src");
            $(".nextImg").find("img").attr("src",d);
            if(now==count-1){
                $(".nextImg").find("img").attr("src",nI);
            }
        }
        //上一张图片按钮切换
        function prevImg(){
            var f = $("#play ul li").find("img").eq(now-1).attr("src");
            $(".prevImg").find("img").attr("src",f);
        }
        
        //下一张点击事件
        next.click(function(){
            clearInterval(timer);
            now++;
            if(now==count){
                now=0;
            }
            tab(now);
            nextImg();
            prevImg();
            timer=setInterval(autoRun, 2000);
        });
        //上一张点击事件
        prev.click(function(){
            clearInterval(timer);
            now--;
            if(now==-1){
                now=count-1;
            }
            tab(now);
            nextImg();
            prevImg();
            timer=setInterval(autoRun, 2000);
        });
        //自动轮播定义
        function autoRun(){
            now++;
            if(now==count){
                now=0;
            }
            tab(now);
            nextImg();
            prevImg();
        };
        var timer=setInterval(autoRun, 2000);
    });
    </script>
    
    </body>
    </html>

    首先是一个大盒子,里面三张图片,然后显示的只是其他三分之一中间的位置,其他部分是被隐藏的,通过animate方法,从隐藏的地方把其他的拉出来

    这段代码的核心就下面这句话了:

    oUl.stop(true).animate({"left":-countwidth * now},400)

    注意那个*now  时间是变的

  • 相关阅读:
    O(1)时间求出栈内元素最小值
    静态查找>顺序、折半、分块查找
    字符串的最大重复数
    数据结构>栈
    排序>归并排序
    动态查找>二叉查找树(Binary Search Tree)
    数据结构>图的存储结构
    数据结构>图的连通性和最小生成树
    图片的轮廓
    数据结构>队列
  • 原文地址:https://www.cnblogs.com/liuestc/p/4125336.html
Copyright © 2011-2022 走看看