zoukankan      html  css  js  c++  java
  • JavaScript 图片轮播 jqury图片轮播

    html+css

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style>
            /*    reset  css  样式重置 */
            body,p,pre,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,tr,td,div,img,form,fieldset,select,textarea,input{
                margin: 0;
                padding: 0;
            }
            body{font-size:16px;}
            table{border-collapse: collapse;}
            select,textarea,input{outline:none;  border: none; background:#fff;  }
            textarea{ resize: none; overflow: auto}
            a{  text-decoration: none;}
            li{ list-style: none; vertical-align: top}
            img{ border:none; vertical-align: top}
            /*  end  reset  css     */
            .wrap{
               position: absolute;
                 100%;
                height: 300px;
    
            }
            .container{
                 760px;
                height: 300px;
                position: relative;
                left: 50%;
                top:0;
                margin-left: -380px;
            }
            .container, .arrow, .container ul { position: absolute}
            .container ul{
                bottom: 1%;
                left: 35%;
                 30%;
                height: 8%;
                background: rgba(0,0,255,0.4);
            }
            .container  li{
                 10%;
                margin-right: 10%;
                height: 90%;
                border-radius: 50%;
                background: rgba(255,255,255,1);
                float: left;
            }
    
            .container  li.active{
                background: rgba(255,0,0,1);
            }
            .container  .arrow{
                display: none;
                top: 50%;
                margin-top: -25px;
                 30px;
                height: 50px;
                line-height: 50px;
                font-size:30px;
                background: rgba(255,255,255,0.4);
            }
            .container  #leftArrow{
                left: 0;
            }
            .container  #rightArrow{
                right: 0;
            }
        </style>
       
    </head>
    <body>
    <div class="wrap">
        <div class="container">
            <div class="imgBox">
                <img src="images/3.jpg" alt="图片1"/>
            </div>
            <ul>
                <li ></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
            </ul>
            <div class="arrow" id="leftArrow"> < </div>
            <div  class="arrow"  id="rightArrow"> > </div>
        </div>
    </div>
    
    </body>
    </html>
    

    js:

        <script>
        window.onload = function(){
    
    
            /*    JavaScript 图片轮播: 1定时器设置自动循环播放 2 鼠标停在下方小圆点(Li标签)上显示对应下标的图片 3按钮点击显示对应上一张下一张图片
             1.定时器设置自动循环播放:定时改变图片的src属性和对应的小圆点(Li标签)高亮突出样式
             2.鼠标停在下方小圆点(Li标签)上显示对应下标的图片,一直悬停图片则不动(注意:鼠标悬停时定时器停止播放图片)
             鼠标移出的时候开始定时器循环播放图片(注意:从悬停的图片的下一张开始播放,而不是原来定时器播放图片的顺序)
             3.按钮点击显示当前图片对应上一张下一张图片*/
            var srcArr= [ "images/1.jpg","images/2.jpg" ,
                "images/3.jpg","images/4.jpg" ,
                "images/5.jpg"  ];
            var bgColors =[ "#358aca","#59ae47","#151837","lightblue","#ccc"];
            var con =  document.getElementsByClassName("wrap")[0] ;
            var img  = document.getElementsByClassName("container")[0].getElementsByTagName("img")[0];
            var arrLi = document.getElementsByClassName("container")[0].getElementsByTagName("li");
            var arrArrow = document.getElementsByClassName("container")[0].getElementsByClassName("arrow");
    
    
            //Li自定义下标
            for( var i = 0 ;i<arrLi.length ;i++) {
                arrLi[i].index = i;
            }
            //初始化
            var lastIndex  =arrLi.length-1;
            var activeIndex = 0;
            playImg(activeIndex);
            img.timer = null;
    
            //自定义函数
            function playImg( activeIndex ){
                if( activeIndex<0){
                    activeIndex = srcArr.length +activeIndex;
                }
                else activeIndex =activeIndex%arrLi.length ;
                arrLi[ lastIndex].className="";
                arrLi[ activeIndex].className="active";
                img.src  = srcArr[ activeIndex   ]  ;
                con.style.background =bgColors[activeIndex] ;
                lastIndex =activeIndex;
            }
    
            //滚动1:开启定时器图片滚动
            if(   img.timer !=null){
                window.clearInterval( img.timer  );
            }
            img.timer =window.setInterval(  function(){
                activeIndex++  ;
                playImg( activeIndex );
            } ,1000);
    
    
    
            //滚动2:鼠标在li上移入移出
            for( var i = 0 ;i<arrLi.length ;i++){
                arrLi[i].onmouseover = function(){
                    window.clearInterval( img.timer  );
                    activeIndex=this.index  ;
                    playImg( activeIndex ); return  false;
                    return  false ;
                };
                arrLi[i].onmouseout = function(){
                    if(   img.timer !=null){
                        window.clearInterval( img.timer  );
                    }
                    img.timer =window.setInterval(  function(){
                        activeIndex++ ;
                        playImg( activeIndex );
                    } ,1000);
                    return  false;
    
                };
            }
    
            con.onmouseover  =  function(){
                arrArrow[0].style.display="block";
                arrArrow[1].style.display="block"
    
            };
            con.onmouseout  =  function(){
                arrArrow[0].style.display="none";
                arrArrow[1].style.display="none"
    
            };
    
    
            //滚动3:点击左右箭头 上一张 下一张图片
            arrArrow[0].onclick = function(){
                activeIndex= (--activeIndex +arrLi.length )  ;
                playImg( activeIndex );
    
            }
    
            arrArrow[1].onclick = function(){
                activeIndex++ ;
                playImg( activeIndex );
            }
    
    
        };
    
        </script>
    

      

    jq:  

     <script src="../jquery-3.0.0.js"></script>
        <script>
            $( function(){
                var srcArr= [ "images/1.jpg","images/2.jpg" ,
                    "images/3.jpg","images/4.jpg" ,
                    "images/5.jpg"  ];
                var bgColors =[ "#358aca","#59ae47","#151837","lightblue","#ccc"];
                var con  =  $(".wrap").eq(0);
                var img  = $(".wrap .imgBox  img").eq(0);
                var arrLi = $(".wrap .container  li");
                var arrArrow = $(".wrap .container  .arrow");
    
    // 初始化:
                var activeIndex =arrLi.eq(0).index();
                arrLi.eq(activeIndex).addClass("active");
                arrLi.eq(activeIndex).siblings().removeClass("active");
                con.css("background",bgColors[activeIndex])
                img.attr("src",srcArr[activeIndex]);
    
                //jq  自定义函数
                function playImg( activeIndex ){
                    if( activeIndex<0){
                        activeIndex = srcArr.length +activeIndex;
                    }
                    else activeIndex =activeIndex%arrLi.length ;
                    arrLi.eq(activeIndex).addClass("active");
                    arrLi.eq(activeIndex).siblings().removeClass("active");
                    img.attr("src",srcArr[activeIndex]);
                    con.css("background",bgColors[activeIndex])
                }
    
                //滚动1:开启定时器图片滚动
                if(   img.timer !=null){
                    window.clearInterval( img.timer  );
                }
                img.timer =window.setInterval( function (   ){
                    activeIndex++;
                    playImg( activeIndex );
                }   ,1000);
    
                //滚动2:小圆点上
                arrLi.hover(
                        function(){activeIndex=  $(this).index() ; playImg(activeIndex  ) ;  window.clearInterval( img.timer  );
                         return  false; },
                        function(){
                            img.timer =window.setInterval(  function(){
                                activeIndex++;
                                playImg( activeIndex );
    
                            } ,1000);
                            return  false; }
    
                );
    
              //hover()  :  mouseover + mouseout
                con.hover(
                                   function(){
                                       arrArrow.css("display","block")
    
                                       return  false; },
                                   function(){
                                       arrArrow.css("display","none")
                                       return  false; }
                           );
    
    /*            con.on( {
                    "mouseover": function(){
                        window.clearInterval( img.timer  );
                        arrArrow.css("display","block")
    
                    },
                    "mouseout":  function(){
                         if(   img.timer !=null){
                         window.clearInterval( img.timer  );
                         }
                        img.timer =window.setInterval(  function(){
                            activeIndex= (++activeIndex)  ;
                            playImg( activeIndex );
                        } ,1000); arrArrow.css("display","none") }
                });*/
    
    
                //滚动3:
                arrArrow.eq(0).click(   function(){ playImg( --activeIndex +arrLi.length ) } );
                arrArrow.eq(1).click(   function(){ playImg( ++activeIndex  ) } );
    
    
    
    
            });
    
    
        </script>
    

      


    <script>
    window.onload = function(){


    /* JavaScript 图片轮播: 1定时器设置自动循环播放 2 鼠标停在下方小圆点(Li标签)上显示对应下标的图片 3按钮点击显示对应上一张下一张图片
    1.定时器设置自动循环播放:定时改变图片的src属性和对应的小圆点(Li标签)高亮突出样式
    2.鼠标停在下方小圆点(Li标签)上显示对应下标的图片,一直悬停图片则不动(注意:鼠标悬停时定时器停止播放图片)
    鼠标移出的时候开始定时器循环播放图片(注意:从悬停的图片的下一张开始播放,而不是原来定时器播放图片的顺序)
    3.按钮点击显示当前图片对应上一张下一张图片*/
    var srcArr= [ "images/1.jpg","images/2.jpg" ,
    "images/3.jpg","images/4.jpg" ,
    "images/5.jpg" ];
    var bgColors =[ "#358aca","#59ae47","#151837","lightblue","#ccc"];
    var con = document.getElementsByClassName("wrap")[0] ;
    var img = document.getElementsByClassName("container")[0].getElementsByTagName("img")[0];
    var arrLi = document.getElementsByClassName("container")[0].getElementsByTagName("li");
    var arrArrow = document.getElementsByClassName("container")[0].getElementsByClassName("arrow");


    //Li自定义下标
    for( var i = 0 ;i<arrLi.length ;i++) {
    arrLi[i].index = i;
    }
    //初始化
    var lastIndex =arrLi.length-1;
    var activeIndex = 0;
    playImg(activeIndex);
    img.timer = null;

    //自定义函数
    function playImg( activeIndex ){
    if( activeIndex<0){
    activeIndex = srcArr.length +activeIndex;
    }
    else activeIndex =activeIndex%arrLi.length ;
    arrLi[ lastIndex].className="";
    arrLi[ activeIndex].className="active";
    img.src = srcArr[ activeIndex ] ;
    con.style.background =bgColors[activeIndex] ;
    lastIndex =activeIndex;
    }

    //滚动1:开启定时器图片滚动
    if( img.timer !=null){
    window.clearInterval( img.timer );
    }
    img.timer =window.setInterval( function(){
    activeIndex++ ;
    playImg( activeIndex );
    } ,1000);



    //滚动2:鼠标在li上移入移出
    for( var i = 0 ;i<arrLi.length ;i++){
    arrLi[i].onmouseover = function(){
    window.clearInterval( img.timer );
    activeIndex=this.index ;
    playImg( activeIndex ); return false;
    return false ;
    };
    arrLi[i].onmouseout = function(){
    if( img.timer !=null){
    window.clearInterval( img.timer );
    }
    img.timer =window.setInterval( function(){
    activeIndex++ ;
    playImg( activeIndex );
    } ,1000);
    return false;

    };
    }

    con.onmouseover = function(){
    arrArrow[0].style.display="block";
    arrArrow[1].style.display="block"

    };
    con.onmouseout = function(){
    arrArrow[0].style.display="none";
    arrArrow[1].style.display="none"

    };


    //滚动3:点击左右箭头 上一张 下一张图片
    arrArrow[0].onclick = function(){
    activeIndex= (--activeIndex +arrLi.length ) ;
    playImg( activeIndex );

    }

    arrArrow[1].onclick = function(){
    activeIndex++ ;
    playImg( activeIndex );
    }


    };

    </script>
  • 相关阅读:
    Xcode 构建规则
    创建带阴影,有圆角的UIView的正确方式
    EffectiveC#12,13,14--成员初始化
    EffectiveC#11--选择foreach循环
    EffectiveC#9--明白几个相等运算之间的关系
    EffectiveC#8--确保0对于值类型数据是有效的(初始化问题)
    NET基础课--泛型(NET之美)
    NET基础课-- 类型基础(NET之美)
    EffectiveC#7--选择恒定的原子值类型数据
    EffectiveC#6--区别值类型数据和引用类型数据
  • 原文地址:https://www.cnblogs.com/July-/p/5804357.html
Copyright © 2011-2022 走看看