jQuery淡入淡出效果輪播圖


用JavaScript做了平滑切換的焦點輪播圖之后,用jQuery寫了個簡單的淡入淡出的輪播圖,代碼沒有做優化,html結構稍微有一些調整,圖片部分用ul替換了之前用的div。

html結構如下:

<div id="container">
        <ul class="pic">
            <li><a href="javascript:;"><img src="DSC01627.jpg" alt="pic1"></a></li>
            <li><a href="javascript:;"><img src="DSC01628.jpg" alt="pic2"></a></li>
            <li><a href="javascript:;"><img src="DSC02637.jpg" alt="pic3"></a></li>
        </ul>
        <ul id="position">
            <li class="cur"></li>
            <li class=""></li>
            <li class=""></li>
        </ul>
        <a href="javascript:;" id="prev" class="arrow">&lt;</a>
        <a href="javascript:;" id="next" class="arrow">&gt;</a>

    </div>

css設置:

*{ 
             margin: 0;
             padding: 0; 
             text-decoration: none;
         }
        ul{
            list-style: none;
        }
        #container{
            position: relative;
            width: 400px;
            height: 200px;
            margin: 20px auto;
        }
        
        .pic li {
            position: absolute;
            top: 0;
            left: 0;
            display: none;
        }
        .pic li img {
            width: 400px;
            height: 200px;
        }
        #position{
            position: absolute;
            bottom: 0;
            right:0;
            margin: 0;
            background: #000;
            opacity: 0.4;
            width: 400px;
            text-align: center;
        }
        #position li{
            width: 10px;
            height: 10px;
            margin:0 2px;
            display: inline-block;
            -webkit-border-radius: 5px;
            border-radius: 5px;
            background-color: #afafaf;
        }
        #position .cur{
            background-color: #ff0000;
        }

         .arrow { 
             cursor: pointer;
              display: none; 
              line-height: 39px; 
              text-align: center; 
              font-size: 36px; 
              font-weight: bold; 
              width: 40px; 
              height: 40px;  
              position: absolute; 
              z-index: 2; 
              top: 50%;
              margin-top: -20px; /*width的一半*/
              background-color: RGBA(0,0,0,.3); 
              color: #fff;
          }
        .arrow:hover { 
            background-color: RGBA(0,0,0,.7);
        }
        #container:hover .arrow { 
            display: block;
        }
        #prev { 
            left: 20px;
        }
        #next { 
            right: 20px;
        }
View Code

JavaScript代碼:

$(function(){
            //第一張顯示
            $(".pic li").eq(0).show();
            //鼠標滑過手動切換,淡入淡出
            $("#position li").mouseover(function() {
                $(this).addClass('cur').siblings().removeClass("cur");
                var index = $(this).index();
                i = index;//不加這句有個bug,鼠標移出小圓點后,自動輪播不是小圓點的后一個
                // $(".pic li").eq(index).show().siblings().hide();
                $(".pic li").eq(index).fadeIn(500).siblings().fadeOut(500);
            });
            //自動輪播
            var i=0;
            var timer=setInterval(play,2000);
            //向右切換
            var play=function(){
                i++;
                i = i > 2 ? 0 : i ;
                $("#position li").eq(i).addClass('cur').siblings().removeClass("cur");
                $(".pic li").eq(i).fadeIn(500).siblings().fadeOut(500);
            }
            //向左切換
            var playLeft=function(){
                i--;
                i = i < 0 ? 2 : i ;
                $("#position li").eq(i).addClass('cur').siblings().removeClass("cur");
                $(".pic li").eq(i).fadeIn(500).siblings().fadeOut(500);
            }
            //鼠標移入移出效果
            $("#container").hover(function() {
                clearInterval(timer);
            }, function() {
                timer=setInterval(play,2000);
            });
            //左右點擊切換
            $("#prev").click(function(){
                playLeft();
            })
            $("#next").click(function(){
                play();
            })
        })
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM