jquery 廣告輪播圖


輪播圖
    /*輪播圖基本功能: * 1圖片切換 * 1.1圖片在中間顯示 * 1.2圖片淡入淡出 * 2左右各有一個按鈕 * 2.1點擊左按鈕,圖片切換上一張 * 2.2點擊右按鈕,圖片切換下一張 * 2.3鼠標滑過按鈕,按鈕顏色加深 * 3底部的導航點 * 3.1圖片為第幾張時,點在那第幾張 * 3.2鼠標滑到第幾個點,圖片切換到第幾張 * 4圖片自動輪播 * 4.1默認自動下一張 * 4.2鼠標在圖片范圍時,停止切換 * 4.3鼠標離開圖片范圍,恢復自動切換 * 5鼠標放在圖片范圍時,變為小手樣式 */
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/jquery-3.2.1.js"></script>
        <style type="text/css">
            /*容器*/
            #content{
                padding: 0px;
                margin: 0px auto;
                width: 966px;
                height: 644px;
                position: relative;
            }
            /*容器中圖片樣式*/
            #content img{
                width: 966px;
                height: 644px;
                position: absolute;
            }
            /*在光標圖片上時,為小手狀態*/
            #content:hover{
                cursor: pointer;    
            }
            /*圖片隱藏*/
            .imgshow{
                display: block;
            }
            /*圖片顯示*/
            .imghide{
                display: none;                
            }
            #left,#right{
                position: absolute;                
                width: 25px;
                height: 50px;
                background-color: gray;
                color: white;
                line-height: 50px;    
                text-align: center;
                font-size: 22px;
                border-radius:5px ;
            }
            #left{
                top: 297px;
                left: 0px;
            }
            #right{
                top:297px;
                margin-left: 940px;
            }
            #left:hover,#right:hover{
                opacity: 0.5;
            }
            #nav:hover{
                cursor: default;
            }
            #nav div{                
                width: 20px;
                height: 20px;
                border-radius: 10px;                
                margin-left: 10px;
                margin-top: 5px;
                float: left;
            }
            .divshow{
                background-color: red;
            }
            .divhide{
                background-color: lawngreen;
            }
            #nav div:hover{
                opacity: 0.5;
            }
            #nav{
                position: absolute;
                width: 200px;
                height: 30px;
                margin-top:590px ;
                margin-left: 25px;                
            }
            
        </style>
    </head>
    <body>
        <!--存放圖片、按鈕、導航點-->
        <div id="content"class="conClass">
            <!--圖片-->
            <img src="image/美女 (1).jpg"class="imgshow"/>
            <img src="image/美女 (2).jpg"class="imghide"/>
            <img src="image/美女 (3).jpg"class="imghide"/>
            <img src="image/美女 (4).jpg"class="imghide"/>
            <img src="image/美女 (5).jpg"class="imghide"/>
            <img src="image/美女 (6).jpg"class="imghide"/>
            <div id="left">&lt;</div>
            <div id="right">&gt;</div>
            <div id="nav">                
                    <div class="divshow"></div>
                    <div class="divhide"></div>
                    <div class="divhide"></div>
                    <div class="divhide"></div>
                    <div class="divhide"></div>
                    <div class="divhide"></div>                
            </div>
        </div>
        <script type="text/javascript">
            /*輪播圖基本功能:
             * 1圖片切換
             *         1.1圖片在中間顯示
             *         1.2圖片淡入淡出
             * 2左右各有一個按鈕
             *         2.1點擊左按鈕,圖片切換上一張
             *         2.2點擊右按鈕,圖片切換下一張
             *         2.3鼠標滑過按鈕,按鈕顏色加深
             * 3底部的導航點
             *         3.1圖片為第幾張時,點在那第幾張
             *         3.2鼠標滑到第幾個點,圖片切換到第幾張
             * 4圖片自動輪播
             *         4.1默認自動下一張
             *         4.2鼠標在圖片范圍時,停止切換
             *         4.3鼠標離開圖片范圍,恢復自動切換
             * 5鼠標放在圖片范圍時,變為小手樣式
             */
            /*實現思路
             * 所有圖片在同一位置
             * 一張圖片展示,其余圖片隱藏
             */
            //創建一個變量來存放當前圖片的位置(索引位置)
            var showindex=0;
            //定時器調用的方法
            function timershow(){
                    /*樣式切換圖片
                    var index=$("img").index($(".imgshow"));                    
                    //隱藏當前圖片
                    $("img").eq(index).removeClass("imgshow").addClass("imghide");
                    if(index==5){
                        index=-1
                    }
                    $("img").eq(index+1).removeClass("imghide").addClass("imgshow");
                    */
                    var imageindex=showindex;
                    //點擊按鈕,下標向后移動
                    showindex++;
                    //切換到第一張圖片,showindex改為0
                    if(showindex==6){
                        showindex=0
                    }
                    //返回當前圖片的位置
                    //console.log(imageindex);
                    //上一張圖片淡出
                    $("img").eq(imageindex).fadeOut(1000);
                    //當前圖片淡出
                    $("img").eq((imageindex+1)%6).fadeIn(1000);
                    //上一個導航點樣式修改為divhide
                    $("#nav div").eq(imageindex).removeClass("divshow").addClass("divhide");
                    //當前導航點樣式修改為divshow
                    $("#nav div").eq((imageindex+1)%6).removeClass("divhide").addClass("divshow");
            }
            
            $(function(){
                //自動調用方法
                var timer=setInterval(timershow,2000);
                //上一張圖片
                $("#right").click(function(){
                    /*樣式切換圖片
                    var index=$("img").index($(".imgshow"));                    
                    //隱藏當前圖片
                    $("img").eq(index).removeClass("imgshow").addClass("imghide");
                    if(index==5){
                        index=-1
                    }
                    $("img").eq(index+1).removeClass("imghide").addClass("imgshow");
                    */
                    var imageindex=showindex;
                    //點擊按鈕,下標向后移動
                    showindex++;
                    //切換到第一張圖片,showindex改為0
                    if(showindex==6){
                        showindex=0
                    }
                    //返回當前圖片的位置
                    console.log(imageindex);
                    //上一張圖片淡出
                    $("img").eq(imageindex).fadeOut(1000);
                    //當前圖片淡出
                    $("img").eq((imageindex+1)%6).fadeIn(1000);
                    //上一個導航點樣式修改為divhide
                    $("#nav div").eq(imageindex).removeClass("divshow").addClass("divhide");
                    //當前導航點樣式修改為divshow
                    $("#nav div").eq((imageindex+1)%6).removeClass("divhide").addClass("divshow");
                });
                //下一張圖片
                $("#left").click(function(){
                    console.log("修改前:"+showindex)
                    var imageindex=showindex;
                    //點擊按鈕,下標向后移動
                    showindex--;
                    //切換到最后一張圖片,showindex變為5
                    if(showindex==-1){
                        showindex=5;
                    }
                    //上一張圖片淡出
                    $("img").eq(imageindex).fadeOut(1000);
                    //當前圖片淡出
                    $("img").eq((imageindex-1)%6).fadeIn(1000);
                    //上一個導航點樣式修改為divhide
                    $("#nav div").eq(imageindex).removeClass("divshow").addClass("divhide");
                    //當前導航點樣式修改為divshow
                    $("#nav div").eq((imageindex-1)%6).removeClass("divhide").addClass("divshow");
                });
                //導航點
                $("#nav div").mouseover(function(){
                    console.log("修改前"+showindex);//修改前的位置
                    var divindex=$("#nav div").index($(this));//獲取當前鼠標在哪一個點上
                    //選定的為當前的自己則不產生動畫效果
                    if(divindex!=showindex)
                    {
                        //將以前的點的樣式修改成divhide
                        $("#nav div").eq(showindex).removeClass("divshow").addClass("divhide");
                        //將現在的點的樣式修改成div
                        $("#nav div").eq(divindex).removeClass("divhide").addClass("divshow");
                        //以前圖片淡出
                        $("img").eq(showindex).fadeOut(1000);
                        //新圖片淡入
                        $("img").eq(divindex).fadeIn(1000);
                        showindex=divindex;
                        console.log("修改后"+divindex);//修改后的位置
                    }
                });
                //鼠標在圖片范圍時停止切換(清除定時器)
                $("#content").mouseenter(function() {
                    window.clearInterval(timer);
                }
                    
                );
                $("#content").mouseleave(function(){
                    timer=window.setInterval(timershow,2000);
                });
            });
        </script>
    </body>
</html>

 


免責聲明!

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



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