92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

原生代碼之實現輪播圖(左右翻頁,定時翻頁,指定翻頁)

2020-3-15    前端達人

首先在寫代碼之前我們需要理清如何穿插圖片呢?



可以讓所有圖片都float:left,用一個大盒子裝進所有圖片,在用一個小盒子顯示圖片,溢出圖片就hidden,之后以每張圖片的寬度來scrollLeft.

可以給每張圖片一個name/id,用循環遍歷所有圖片

可以用float:left,但是除了我要顯示的圖片外,其他圖片都hidden,之后每當我需要某張圖片時,我就把它制定到某位置



在這里,我將用第二種方法,因為它很直觀明了,我要哪張圖片我就調哪張圖片。

HTML部分:在div里面我裝了一張圖片,name:0, 這是為了在剛打開的時候,我們的頁面是有東西的而不是一片空白。其他部分都好理解,不理解的可在下方評論。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>輪播圖</title>
        <link rel="stylesheet" href="輪播圖.css" />
        <script src="輪播圖.js">
        </script>
    </head>

    <body>
        <header>
            <div id="oImg">
                <!-- 輪流播放圖片 -->
                <img id="insert" src="img/輪1.jpg" name="0"/>
            </div>
            <!-- 左右切換圖片 -->
            <p id="left" οnclick="goBack()"></p>
            <p id="right" οnclick="goForward()"></p>

            <ul id="nav">
                <!-- 指定某張圖片 -->
                <li id="1" οnclick="move(this)">1</li>
                <li id="2" οnclick="move(this)">2</li>
                <li id="3" οnclick="move(this)">3</li>
                <li id="4" οnclick="move(this)">4</li>
                <li id="5" οnclick="move(this)">5</li>
            </ul>
        </header>

    </body>

</html>

CSS:
* {
    margin: 0 auto;
    padding: 0 auto;
}

header {
    width: 100%;
    height: 680px;
    position: relative;

}

img {
    width: 100%;
    height: 680px; 
}   

#nav { 
    position: absolute;
    bottom: 5px;
    left: 30%;
}

#nav li {
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    background: #ccc;
    font-size: 24px;
    border-radius: 9px;
    color: darkslategrey;
    font-family: 'Times New Roman', Times, serif;
    margin: 0 25px;
    float: left;
    cursor: pointer;
    list-style: none;
}

#nav li:hover {
    background: peru;
}

#left {
    width: 25px;
    height: 24px;
    left: 0;
    top: 50%;
    cursor: pointer;
    position: absolute;
    background: url(img/fx1.png);
}

#right {
    width: 25px;
    height: 24px;
    right: 0;
    top: 50%;
    cursor: pointer;
    position: absolute;
    background: url(img/fx2.png);
}
之后我們來看重中之重JS部分
JavaScript:
// 五張圖片的url
var oImg1 = "img/輪1.jpg";
var oImg2 = "img/輪2.jpg";
var oImg3 = "img/輪3.jpg";
var oImg4 = "img/輪4.jpg";
var oImg5 = "img/輪5.jpg";
// 把5張圖片存入一個數組
var arr = [oImg1, oImg2, oImg3, oImg4, oImg5];

window.onload = function() {
    //剛加載時第一張圖片1號背景顏色
    document.getElementById("1").style.background = "peru";  
    run()

}

//輪播
function run() { 
    timer = setInterval(function() {
        //隨機點數字時能接著變化 
        var pic = document.getElementById("insert").name;
        var shade = document.getElementById("insert");  

        //如果為最后一張圖片則重新循環
        if (pic == 4) {
            pic = -1;
        }

        //點一個數字該數字背景顏色變化其余的不變
        var aLi = document.getElementsByTagName("li");
        for (var j = 0; j < aLi.length; j++) {
            aLi[j].style.backgroundColor = "#CCCCCC";
        } 

        var i = parseInt(pic);   

        document.getElementById("insert").src = arr[i + 1]; 

        document.getElementById("insert").name = i + 1; 

        //數字隨圖片變化
        switch (i) {
            case 0:
                var temp = '2';
                break;
            case 1:
                var temp = '3';
                break;
            case 2:
                var temp = '4';
                break;
            case 3:
                var temp = '5';
                break;
            case -1:
                var temp = '1';
                break;
        }
        document.getElementById(temp).style.background = "peru"   

    }, 5000)
}

//右箭頭 
function goForward() {
    var temp = document.getElementById("insert").name;
    var oBox = document.getElementById("insert"); 
    var aLi = document.getElementsByTagName("li");
    // 數字跟著圖片一起變
    for (var i = 0; i < aLi.length; i++) {
        aLi[i].style.backgroundColor = "#CCCCCC";
    }

    switch (temp) {
        case "0":
            var n = '2';
            break;
        case "1":
            var n = '3';
            break;
        case "2":
            var n = '4';
            break;
        case "3":
            var n = '5';
            break;
        case "4":
            var n = '1';
            break;
    }

    document.getElementById(n).style.background = "peru"
    // 向右移動圖片
    for (var j = 0; j < arr.length; j++) {
        if (j < 4) {
            if (temp == j) {
                oBox.src = arr[j + 1]; 
            }
        } else {
            if (temp == 4) {
                oBox.src = arr[0]; 
            }
        }
    } 
    // 輪到最后一張圖片時返回第一張
    if (temp < 4) {
        oBox.name = parseInt(temp) + 1;
    } else {
        oBox.name = 0;
    }
}

//左箭頭
function goBack() {
    var temp = document.getElementById("insert").name;
    var oBox = document.getElementById("insert")
    var aLi = document.getElementsByTagName("li");
    // 圖片移動時數字也跟著變
    for (var i = 0; i < aLi.length; i++) {
        aLi[i].style.backgroundColor = "#CCCCCC";
    }

    switch (temp) {
        case "0":
            var n = '5';
            break;
        case "1":
            var n = '1';
            break;
        case "2":
            var n = '2';
            break;
        case "3":
            var n = '3';
            break;
        case "4":
            var n = '4';
            break;
    }

    document.getElementById(n).style.background = "peru"
    // 向左移動圖片 

    for (var j = 0; j < arr.length; j++) {
        if (j > 0) {
            if (temp == j) {
                oBox.src = arr[j - 1];
            }
        } else {
            if (temp == 0) {
                oBox.src = arr[4];
            }
        }
    }
    // 輪到第一張圖片時返回最后一張
    if (temp > 0) {
        oBox.name = parseInt(temp) - 1;
    } else {
        oBox.name = 4;
    }
}

//指定圖片
function move(num) { 
    var oBox = document.getElementById("insert");
    var temp = document.getElementById("insert").name;
    var aLi = document.getElementsByTagName("li");
    for (var i = 0; i < aLi.length; i++) {
        aLi[i].style.backgroundColor = "#CCCCCC";
    }

    document.getElementById(num.innerHTML).style.background = "peru"

    switch (num.innerHTML) {
        case "1":
            oBox.src = arr[0];
            oBox.name = 0;
            break;
        case "2":
            oBox.src = arr[1];
            oBox.name = 1;
            break;
        case "3":
            oBox.src = arr[2];
            oBox.name = 2;
            break;
        case "4":
            oBox.src = arr[3];
            oBox.name = 3;
            break;
        case "5":
            oBox.src = arr[4];
            oBox.name = 4;
            break;
    }
}
JavaScript部分我寫的很詳細,仔細看的話是可以看懂的,主要分3個重要部分:

用src來調用每張圖片并給每張圖片一個name,這樣方便后面的重復使用
為下方的數字按鈕匹配圖片,點擊1跳到第1張圖片,點擊2跳到第2張圖片…因為我把所有的圖片都存在了一個數組里,所以在匹配的時候要注意數組0位置才是數字1指定的圖片
可以來回翻頁,當到達最后一張圖片時,我再點擊下一張圖片又能返回到第一張圖片了,亦或者當我點擊到第一張圖片時,再上一張圖片又回到第五張圖片了
效果如下:

點擊查看原圖

點擊查看原圖

大家有問題可以在下方評論哦,看到了會及時回復噠!


————————————————
版權聲明:本文為CSDN博主「weixin_43964414」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_43964414/article/details/104844041

日歷

鏈接

個人資料

藍藍設計的小編 http://m.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
中文字幕亚洲二区| 欧美 亚欧 日韩视频在线| 黄色动漫在线观看| 国产成人福利视频| 精品免费在线| 亚洲sss综合天堂久久| 久久综合久久综合久久综合| 竹内纱里奈兽皇系列在线观看| ww亚洲ww在线观看国产| 欧美亚洲国产另类| 亚洲女人天堂色在线7777| 老司机午夜精品视频在线观看| 精品欧美黑人一区二区三区| 日本黄色精品| 精品一区二区三区影院在线午夜| 亚洲高清资源在线观看| 欧美主播一区二区三区美女 久久精品人| 看女生喷水的网站在线观看| 久久这里只精品最新地址| 日韩久久午夜影院| 国产精品主播在线观看| k8久久久一区二区三区| 国产成人一区二区| 91精品视频在线播放| 欧美吞精做爰啪啪高潮| 免费成人在线电影| 日韩亚洲不卡在线| 欧美视频小说| 成年人视频在线免费观看| 国产精品99久久久久久似苏梦涵| 九七电影韩国女主播在线观看| 男人天堂亚洲天堂| 精品不卡在线| 国产精品观看在线亚洲人成网| 伊人春色精品| 一级日本在线| 午夜精品蜜臀一区二区三区免费| 亚洲国产色一区| 国产亚洲高清在线观看| 国内精品中文字幕| 国产一区亚洲一区| 国产精品久av福利在线观看| 高清日韩欧美| 视频精品在线观看| 色丁香久综合在线久综合在线观看| 精品成人一区二区三区四区| 伊伊综合在线| 九九热99久久久国产盗摄| 久久亚洲一区二区三区明星换脸| 97国产一区二区| 成人看片黄a免费看在线| 日韩激情在线观看| 免费国产亚洲视频| 日韩av最新在线| 加勒比av一区二区| 黄色网页在线免费看| 亚洲成人黄色网址| 秋霞成人午夜鲁丝一区二区三区| 国产区亚洲区欧美区| 久久99久久久精品欧美| 免费黄色在线网站| 欧美一级日本a级v片| 国产999精品久久久久久绿帽| 欧美专区在线观看一区| 国产成人一区二区三区小说| 国产精品视频3p| 亚洲人a成www在线影院| 国产精品亚洲片夜色在线| 亚洲一区在线观看免费观看电影高清| 欧美ab在线视频| 国产51人人成人人人人爽色哟哟| av大全在线免费看| 日韩色淫视频| 久久精品成人| 五月激情综合色| 日本女优一区| 亚洲成人激情综合网| 亚洲激情中文字幕| jizz在线免费观看| 欧美熟乱第一页| 美女脱光内衣内裤视频久久网站| 成人网ww555视频免费看| 欧美14一18处毛片| 欧美1区二区| 精品动漫一区二区三区| 草莓视频一区二区三区| 亚洲国产精品天堂| 一级毛片精品毛片| 国产综合色在线观看| 成人p站proumb入口| 韩国av一区二区三区在线观看| xxx性欧美| 麻豆视频成人| 国产精品美女久久久久久| 最近2019中文字幕在线高清| 欧美成人dvd在线视频| 欧美三级视频在线播放| eeuss鲁片一区二区三区| 亚洲欧洲日本一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 另类春色校园亚洲| 5566中文字幕一区二区电影| 欧美日韩精品中文字幕一区二区| 国产欧美精品xxxx另类| 欧美性猛交一区二区三区精品| 亚洲自拍偷拍网址| 日韩国产一区二区三区| 日本一区二区在线免费播放| 久久伦理中文字幕| 欧美日韩在线精品一区二区三区| 欧美日韩中文字幕在线| 国产成人福利片| 欧美日韩在线观看首页| 日本一区二区成人在线| 成人欧美一区二区三区在线湿哒哒| 九九久久国产| 久久资源av| 久久影视电视剧免费网站清宫辞电视| 午夜精品久久久久久久久久蜜桃| 岛国片av在线| 国内不卡的二区三区中文字幕| 欧美激情亚洲国产| 91精品国产乱码久久蜜臀| 亚洲天堂中文字幕在线观看| 国产精品久久综合av爱欲tv| 尤物yw午夜国产精品视频| 亚洲丁香日韩| 亚洲免费观看高清| 一区二区激情| 亚洲最大黄网| 香蕉乱码成人久久天堂爱免费| av在线之家电影网站| 欧美r级电影| 国产亚洲亚洲国产一二区| 青青草原亚洲| 久久久久久久久久久久久夜| 日韩情爱电影在线观看| 国产精品v亚洲精品v日韩精品| 91在线观看免费网站| 亚洲欧美卡通另类91av| 26uuu成人网一区二区三区| 3d成人动漫网站| 午夜精品成人在线视频| 久久久精品有限公司| 欧美猛男超大videosgay| 欧美日韩精品免费观看视一区二区| 色综合色狠狠综合色| 欧美亚洲图片小说| 久久婷婷久久一区二区三区| 欧美黄色录像| 国产精品狼人色视频一区| 欧美亚洲天堂| 国产乱人伦丫前精品视频| 日韩中文字幕第一页| 日韩综合一区| 欧美视频一区二区在线观看| 日韩欧美中文一区二区| 亚洲精品免费观看| 老司机午夜免费精品视频| 亚洲综合在线视频| 一区二区三区视频在线观看视频| 久久久xxx| 2021久久精品国产99国产精品| 亚洲午夜免费视频|