JS实例——手写网页轮播图

目录

01.轮播图准备

02.轮播图模块细分

03.鼠标放在图片上,显示左右按钮,离开则不显示。

04.利用循环,动态生成小圆圈(放在li里的)

04.1 小圆圈排他思想

05.点击小圆圈,移动图片(即移动ul)

06.点击右侧按钮一次,就让图片滚动一张。

06.1 图片无缝滚动的原理

07.克隆第一张图片

08.小圆圈跟随右侧按钮一起变化

09.轮播图的两个小bug

09.1 点击小li,再点击右侧按钮,图片跳转出错并且小圆圈没正常跳转

09.1.1 图片跳转出错

09.1.2 图片跳转了,小圆圈没正常跳转

10.写左侧按钮的js

12.完整代码

index.html部分

index.css部分

index.js部分


本篇文章实现的网页轮播图网址展示:网页轮播图

图片展示: 

01.轮播图准备

需要准备四个模块:

  1. 一个大的盒子进行包裹(main)、(focus f1)
  2. 左右元素按钮(arrow-l、arrow-r)
  3. 小圆点滚动显示(circle)
  4. 核心滚动模块图片
<div class="main">
        <div class="focus">
            <!-- 左侧按钮 -->
            <a href="#" class="arrow-l">&lt;</a>
            <!-- 右侧按钮 -->
            <a href="#" class="arrow-r">&lt;</a>
            <!-- 核心滚动区域 -->
            <ul>
                <li>
                    <a href="#"><img src="./green02.jpg" alt=""></a>
                </li>
                <li>
                    <a href="#"><img src="./green03.jpg" alt=""></a>
                </li>
                <li>
                    <a href="#"><img src="./green05.jpg" alt=""></a>
                </li>
            </ul>
            <!-- 小
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是一个简单的网页轮播图代码实例HTML代码: ``` <div id="slider"> <div class="slides"> <img src="slide1.jpg"> <img src="slide2.jpg"> <img src="slide3.jpg"> </div> </div> ``` CSS代码: ``` #slider { width: 100%; overflow: hidden; } .slides { display: flex; width: 300%; transition: transform 0.4s ease-in-out; } .slides img { width: 33.333%; float: left; } #slider input[name='slide-dot'] { display: none; } #slider label { display: inline-block; height: 10px; width: 10px; border-radius: 50%; background: #ddd; margin: 0 10px; cursor: pointer; } #slider input[name='slide-dot']:checked + label { background: #222; } ``` JavaScript代码: ``` var slideIndex = 0; showSlides(); function showSlides() { var i; var slides = document.getElementsByClassName("slides")[0].getElementsByTagName("img"); for (i = 0; i < slides.length; i++) { slides[i].style.width = "0"; } slideIndex++; if (slideIndex > slides.length) {slideIndex = 1} slides[slideIndex-1].style.width = "100%"; setTimeout(showSlides, 3000); // 轮播时间,单位为毫秒 } ``` 解释: 1. HTML部分: 网页轮播图的主要元素是包含轮播图图像的div(这里的id是“slider”)和内部的img元素(这里只有三张图像)。为了用户能够手动控制轮播图的展示,我们还需要在html中添加一些控制按钮,比如这里用的是checkbox和label。 2. CSS部分: CSS主要是为轮播图和控制按钮设置样式。我们设置slider的宽度为100%(这样轮播图会自适应不同设备的屏幕大小),overflow为hidden,以便超出slider宽度的图像不会显示在屏幕上。slides是一个包含img元素的div,每个img元素宽度为slider宽度的1/3,float设为left。控制按钮的初始化样式设置是显示为灰色,并为每个控制按钮设置了10像素宽的圆点,之后我们根据用户选择的控制按钮修改样式。 3. JavaScript部分: 这是一个执行轮播图JavaScript函数。我们首先定义一个“slideIndex”变量,指示当前显示的图片在slides数组中的索引,初始化为0。后面我们调用“showSlides”函数时,它会自动执行以下操作: - 获取slides元素的img元素集合,设置索引小于“slideIndex”的所有img宽度为0,将“slideIndex”加1,并重新计算其mod(slides.length),因为我们需要按循环方式展示图片。 - 将当前img元素的宽度设置为slider的宽度,以100%的宽度实现图像的展示。 - 在setTimeout函数里将showSlides函数调用的时间设置为3000毫秒(即3秒),这样每3秒就会执行一次轮播操作。 以上就是网页轮播图代码及其解释。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值