js簡(jiǎn)單輪播圖

今天給大家?guī)?lái)一個(gè)原生的輪播圖,如果有什么地方錯(cuò)誤,請(qǐng)指出。

這是HTML部分的代碼

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="./index.css">
</head>

<body>
    <div class="index-container">
        <ul class="banner">
            <li>
                <img src="./banner.jpg" alt="">
            </li>
            <li>
                <img src="./banner1.jpg" alt="">
            </li>
            <li>
                <img src="./banner.jpg" alt="">
            </li>
            <li>
                <img src="./banner1.jpg" alt="">
            </li>
            <li>
                <img src="./banner.jpg" alt="">
            </li>
            <li>
                <img src="./banner1.jpg" alt="">
            </li>
            <li>
                <img src="./banner.jpg" alt="">
            </li>
        </ul>
        <p class="left">左</p>
        <p class="right">右</p>
    </div>

</body>
</html>

我們來(lái)給它加個(gè)樣式

.index-container {
    width: 500px;
    height: 300px;
    overflow: hidden;
    position: relative;
    ul {
        position: absolute;
        width: 3500px;
        list-style: none;
        height: 300px;
        padding: 0;
        margin: 0;
        left: 0;
        li {
            float: left;
            width: 500px;
            height: 300px;
            img {
                width: 100%;
                height: 100%;
            }
        }
    }
    p {
        position: absolute;
        width: 20px;
        height: 20px;
        top: 50%;
        margin-top: -10px;
        background-color: rgba(0, 0, 0, .5);
    }
    .left {
        left: 20px;
    }
    .right {
        right: 20px;
    }
}

這是js部分

<script>
    var left = document.getElementsByClassName('left')[0];
    var right = document.getElementsByClassName('right')[0];
    var banner = document.getElementsByClassName('banner')[0];
    var content = document.getElementsByClassName('index-container')[0];

    left.onclick = function () {
        var str = banner.style.left.slice(0, -2);
        banner.style.left = str - 500 + 'px';
        if (str <= -3000) {
            banner.style.left = 0;
        }
    }
    right.onclick = function () {
        var str;
        if (banner.style.left === "0px") {
            str = -3000;
        } else {
            str = parseInt(banner.style.left) + 500;
        }
        banner.style.left = str + "px";
    }
    var timer = null;
    function autoPlay() {
        timer = setInterval(function () {
            left.onclick();
        }, 2000);
    }
    autoPlay();

    content.onmousemove = function () {
        clearInterval(timer);
        timer = null;
    }
    content.onmouseleave = function () {
        autoPlay();
    }
</script>

這樣一來(lái)就有了一個(gè)簡(jiǎn)易版的輪播圖了

GIF.gif
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容