JavaScript简单点击切换效果——轮播图

如何实现一个简单轮播图效果,通过点击切换图片?在JavaScript内容的实现是使用点击触发事件,改变src图片路径。

直接展示JS代码哈!

// 创建一个数组来保存图片的路径
    var imgArr = ["img/001.jpg", "img/002.jpg", "img/003.jpg", "img/004.jpg"];
    var imgs = document.getElementById("imgs");
    // 获取按钮对象
    // 获取元素
    function getId(ids) {
        return document.getElementById(ids);
    }
    function getOnClick(getIds, i) {
        getIds.onclick = function () {
            imgs.src = imgArr[i];
        }
    }
    getOnClick(getId("one"), 0)
    getOnClick(getId("two"), 1)
    getOnClick(getId("three"), 2)
    getOnClick(getId("four"), 3)

以下是大致的效果图>>>

下面是我的HTML布局和css样式,还可以继续美化得更好看哦~

<body>
    <div class="enclosure">
        <div class="picture">
            <img src="img/001.jpg" alt="" id="imgs" draggable="false">
            <div class="handoffBox">
                <div class="handoff" id="one">
                    <img src="img/001.jpg" alt="" width="77px" height="57px" draggable="false">
                </div>
                <div class="handoff" id="two">
                    <img src="img/002.jpg" alt="" width="77px" height="57px" draggable="false">
                </div>
                <div class="handoff" id="three">
                    <img src="img/003.jpg" alt="" width="77px" height="57px" draggable="false">
                </div>
                <div class="handoff" id="four">
                    <img src="img/004.jpg" alt="" width="77px" height="57px" draggable="false">
                </div>
            </div>
        </div>
    </div>
</body>
<style>
    body {
        width: 100%;
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .enclosure {
        width: 660px;
        height: 420px;
        background: #f0a77d;
        border-radius: 30px;
        box-shadow: 0px 0px 10px 5px #f0a77d;
    }
    .picture {
        margin-left: 43px;
        margin-top: 56px;
    }
    img {
        position: absolute;
        box-shadow: 0px 0px 10px 5px #ded062;
    }
    .handoffBox {
        position: relative;
    }
    .handoff {
        width: 80px;
        height: 60px;
        background: #8dcb63;
        float: left;
        margin-top: 230px;
        margin-left: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
</style>

感谢你的观看~

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单JavaScript实现轮播图效果的示例代码: HTML代码: ``` <div class="slideshow-container"> <div class="mySlides fade"> <img src="img1.jpg" style="width:100%"> </div> <div class="mySlides fade"> <img src="img2.jpg" style="width:100%"> </div> <div class="mySlides fade"> <img src="img3.jpg" style="width:100%"> </div> <a class="prev" onclick="plusSlides(-1)">❮</a> <a class="next" onclick="plusSlides(1)">❯</a> </div> ``` CSS代码: ``` .slideshow-container { max-width: 700px; position: relative; margin: auto; } .mySlides { display: none; } .prev, .next { cursor: pointer; position: absolute; top: 50%; width: auto; margin-top: -22px; padding: 16px; color: white; font-weight: bold; font-size: 18px; transition: 0.6s ease; border-radius: 0 3px 3px 0; user-select: none; } .next { right: 0; border-radius: 3px 0 0 3px; } .prev:hover, .next:hover { background-color: rgba(0, 0, 0, 0.8); } .fade { -webkit-animation-name: fade; -webkit-animation-duration: 1.5s; animation-name: fade; animation-duration: 1.5s; } @-webkit-keyframes fade { from { opacity: 0.4; } to { opacity: 1; } } @keyframes fade { from { opacity: 0.4; } to { opacity: 1; } } ``` JavaScript代码: ``` var slideIndex = 1; showSlides(slideIndex); function plusSlides(n) { showSlides(slideIndex += n); } function currentSlide(n) { showSlides(slideIndex = n); } function showSlides(n) { var i; var slides = document.getElementsByClassName("mySlides"); var dots = document.getElementsByClassName("dot"); if (n > slides.length) { slideIndex = 1 } if (n < 1) { slideIndex = slides.length } for (i = 0; i < slides.length; i++) { slides[i].style.display = "none"; } for (i = 0; i < dots.length; i++) { dots[i].className = dots[i].className.replace(" active", ""); } slides[slideIndex - 1].style.display = "block"; dots[slideIndex - 1].className += " active"; } ``` 注释: 1. 首先,在HTML中定义轮播图容器和每个轮播图图片。 2. 在CSS中设置轮播图容器的最大宽度和样式。 3. 在JavaScript中定义一个变量slideIndex,表示当前显示的轮播图的索引。 4. 定义三个函数:showSlides()、plusSlides()和currentSlide(),分别用于显示轮播图切换轮播图和跳转到指定轮播图。 5. 在showSlides()函数中,首先获取所有轮播图轮播图下方的圆点元素,然后根据slideIndex变量显示当前轮播图和圆点,并将其他轮播图和圆点隐藏。 6. 在plusSlides()函数中,根据传入的参数n更新slideIndex变量,并调用showSlides()函数显示对应的轮播图。 7. 在currentSlide()函数中,将slideIndex变量设置为传入的参数n,并调用showSlides()函数显示对应的轮播图。 8. 最后,在HTML中添加前进和后退按钮,并在按钮上绑定plusSlides()函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值