本次轮播图的制作主要分为3个部分,分别是:设置定时器自动轮播;点击左右切换按钮轮播;下方点击按钮轮播。具体实现步骤如下:

(效果图)

html部分代码如下:

<div class="slidebox">
<ul class="ul1" id="ul1">
<li><img src="img/solid.png" width="100%" height="500px">
<p class="slide-p1">走进酒文化&nbsp品味历史悠酒</p>
</li>
<li><img src="img/jiuwh.jpg" width="100%" height="500px">
<p class="slide-p2">
<p class="slide-p21">酒<br>之<br>历<br>史</p>
<p class="slide-p22">酒<br>之<br>常<br>识</p>
<p class="slide-p23">酒<br>之<br>文<br>化</p>
<p class="slide-p24">酒<br>之<br>工<br>艺</p>
<p class="slide-p25">酒<br>之<br>典<br>故</p>
</p>
</li>
<li><img src="img/jiu-1.jpg" width="100%" height="500px">
<p class="slide-p3">酒香飘百年、历久弥香,既得益于得天独厚的酿造环境<br>更缘于人们长期以来对传统工艺的矢志坚守、对品质把控的一丝不苟</p>
</li>
<li><img src="img/jiu2.jpg" width="100%" height="500px">
<p class="slide-p4">
"和",《说文》解为"相应也",《广雅》解为谐也。和乐之本也,强调的是和谐、协调;"发而皆中节谓之和",倾向于平衡、稳健。中华文明历来强调天人合一、尊重自然,"万物各得其和以生,各得其养以成"。
</p>
</li>
</ul>
<div class="left-botton indexs" id="left-botton">
&lt;
</div>
<div class="right-botton indexs" id="right-botton">
&gt;
</div>
<ul class="ul2 indexs" id="ul2">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>

css部分代码如下:

.slidebox {
width: 100%;
height: 500px;
position: relative;
} .slidebox ul {
margin: 0;
padding: 0;
list-style: none;
} .ul1 {
width: 100%;
height: 100%;
} .ul1>li {
position: absolute;
top: 0;
left: 0;
} .left-botton {
margin-left: 50px;
width: 80px;
height: 80px;
background: whitesmoke;
text-align: center;
color: skyblue;
line-height: 70px;
position: absolute;
font-size: 50px;
top: 195px;
left: 0;
border-radius: 100%;
opacity: 0;
} .slidebox:hover .left-botton {
opacity: 0.8;
transition: 0.5s;
} .right-botton {
margin-right: 50px;
width: 80px;
height: 80px;
background: whitesmoke;
opacity: 0;
text-align: center;
color: skyblue;
line-height: 70px;
position: absolute;
font-size: 50px;
top: 195px;
right: 0;
border-radius: 100%;
} .slidebox:hover .right-botton {
opacity: 0.8;
transition: 0.5s;
} .left-botton:hover {
cursor: pointer;
color: whitesmoke;
opacity: 1;
background: skyblue;
} .right-botton:hover {
cursor: pointer;
color: whitesmoke;
opacity: 1;
background: skyblue;
} .ul2 {
position: absolute;
bottom: 25px;
right: 560px;
} .ul2>li {
width: 60px;
height: 10px;
background: white;
line-height: 20px;
float: left;
border-radius: 3px;
margin-right: 30px;
} .ul2>li:hover {
background: orangered;
cursor: pointer;
color: white;
} .ul2>li:nth-child(1) {
background: orangered;
color: white;
} .ul1>li:nth-child(1) {
z-index: 100;
} .indexs {
z-index: 200;
}

JS部分代码如下:

var imgs = document.getElementById("ul1").children; //找到需要操作的所有图片
var botton = document.getElementById("ul2").children; //找到需要操作的所有下方点击按钮
var leftbotton = document.getElementById("left-botton"); //找到需要操作的左切换按钮
var rightbotton = document.getElementById("right-botton"); //找到需要操作的右切换按钮
var index = 0; //标记当前展示图片的索引
var dingshiqi; //定义定时器
chongqi(); //调用重启定时器 //绑定定时器自动切换事件
function chongqi() {
dingshiqi = setInterval(function() {
index++; //跳转到下一张图片
if (index == imgs.length) {
index = 0;
} //使图片无限循环播放
for (var i = 0; i < imgs.length; i++) {
imgs[i].style.cssText = "z-index:0;"; //隐藏所有图片
botton[i].style.cssText = "background:white;"; //使所有点击按钮的背景颜色变成白色
}
imgs[index].style.cssText = "z-index:100;"; //显示当前图片
botton[index].style.cssText = "background:orangered;"; //使当前指定点击按钮的背景颜色变成红色
}, 4000); //定时器每隔4秒自动跳转到下一张图片
} //绑定左切换按钮的点击事件
leftbotton.onclick = function() {
clearInterval(dingshiqi); //关闭定时器
index--; //跳转到上一张图片
if (index < 0) {
index = imgs.length - 1;
}
for (var i = 0; i < imgs.length; i++) {
imgs[i].style.cssText = "z-index:0;"; //隐藏所有图片
botton[i].style.cssText = "background:white;"; //使所有点击按钮的背景颜色变成白色
}
imgs[index].style.cssText = "z-index:100;"; //显示当前图片
botton[index].style.cssText = "background:orangered;"; //使当前指定点击按钮的背景颜色变成红色
chongqi(); //重启定时器
} //绑定右切换按钮的点击事件
rightbotton.onclick = function() {
clearInterval(dingshiqi); //关闭定时器
index++; //跳转到下一张图片
if (index > imgs.length - 1) {
index = 0;
}
for (var i = 0; i < imgs.length; i++) {
imgs[i].style.cssText = "z-index:0;"; //隐藏所有图片
botton[i].style.cssText = "background:white;"; //使所有点击按钮的背景颜色变成白色
}
imgs[index].style.cssText = "z-index:100;"; //显示当前图片
botton[index].style.cssText = "background:orangered;"; //使当前指定点击按钮的背景颜色变成红色
chongqi(); //重启定时器
} //绑定所有点击按钮的点击事件
for (let i = 0; i < imgs.length; i++) {
botton[i].onclick = function() {
clearInterval(dingshiqi); //关闭定时器
index = i;
for (let i = 0; i < imgs.length; i++) {
imgs[i].style.cssText = "z-index:0;"; //隐藏所有图片
botton[i].style.cssText = "background:white;"; //使所有点击按钮的背景颜色变成白色
}
imgs[index].style.cssText = "z-index:100;"; //显示当前图片
this.style.cssText = "background:orangered;"; //使当前指定点击按钮的背景颜色变成红色
chongqi(); //重启定时器
}
}

通过以上步骤就可以实现一个完整的轮播图效果了

超详细的原生JavaScript轮播图(幻灯片)的制作的更多相关文章

  1. javascript原生js轮播图

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. js原生实现轮播图效果(面向对象编程)

    面向对象编程js原生实现轮播图效果 1.先看效果图 2.需要实现的功能: 自动轮播 点击左右箭头按钮无缝轮播 点击数字按钮切换图片 分析:如何实现无缝轮播? 在一个固定大小的相框里有一个ul标签,其长 ...

  3. JavaScript轮播图

    需求: 鼠标移动到下标页码时,也转换到相对应的图片: 多张图片可以自动轮播: 鼠标移动至图片时,停止自动轮播: 可以手动左右调节: <!DOCTYPE html> <html lan ...

  4. 原生js轮播图

    //用原生js实现了一个简单的轮播图效果 <!DOCTYPE html><html> <head> <meta charset="UTF-8&quo ...

  5. JavaScript 轮播图

    这是我自己做的一个轮播图,大家可以看看 ,我还没进行优化.有改进的地方可以私聊 布局什么的你们自己搞定吧 <div class="slider" id="circl ...

  6. 用require.js封装原生js轮播图

    index.html页面: <!DOCTYPE html><html> <head> <meta charset="UTF-8"> ...

  7. 练习:javascript轮播图效果

    javascript轮播自动播放切换滑过停止,上一页/下一页 <!DOCTYPE html> <html lang="en"> <head> & ...

  8. 手把手原生js轮播图

    在团队带人,突然被人问到轮播图如何实现,进入前端领域有一年多了,但很久没自己写过,一直是用大牛写的插件,今天就写个简单的适合入门者学习的小教程.当然,轮播图的实现原理与设计模式有很多种,我这里讲的是用 ...

  9. js原生的轮播图

    <!DOCTYPE html>   <html>   <head>   <meta charset="UTF-8">   <t ...

随机推荐

  1. Linux用户登录查看命令总结 - w,who,last,lastlog

    Linux用户登录查看命令总结 - w,who,last,lastlog linux shell 747 次阅读  ·  读完需要 15 分钟 0 1. 查看登录用户信息 who -H 命令输出 NA ...

  2. 云计算OpenStack共享组件---信息队列rabbitmq(2)

    一.MQ 全称为 Message Queue, 消息队列( MQ ) 是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们. 消息传 ...

  3. Docker 的神秘世界

    引言 上图就是 Docker 网站的首页,看了这简短的解释,相信你还是不知道它是何方神圣. 讲个故事 为了更好的理解 Docker 是什么,先来讲个故事: 我需要盖一个房子,于是我搬石头.砍木头.画图 ...

  4. 测试开发:从0到1学习如何测试API网关

    本文来自我的一名学员分享 日常工作中,难免会遇到临危受命的情况,虽然没有这么夸张,但是也可能会接到一个陌生的任务,也许只是对这个概念有所耳闻.也许这个时候会感到一丝的焦虑,生怕没法完成领导交给的测试任 ...

  5. Google I/O 2021 Android精华内容

    Google I/O 2021结束了, 都有什么精彩内容呢? Android部分的Playlist附上: Android & Play at Google I/O 2021 Developer ...

  6. 浅谈:Redis持久化机制(二)AOF篇

    浅谈:Redis持久化机制(二)AOF篇 ​ 上一篇我们提及到了redis的默认持久化方式RDB,是一种通过存储快照数据方式持久化的机制,它在宕机后会丢失掉最后一次更新RDB文件后的数据,这也是由于它 ...

  7. CUDA数学库

    CUDA数学库 高性能数学例程 CUDA数学库是经过行业验证的,高度准确的标准数学函数的集合.只需在源代码中添加" #include math.h",即可用于任何CUDA C或CU ...

  8. Yolov3 的 OneFlow 实现

    Yolov3 的 OneFlow 实现 1.简介 YOLO 系列的算法(经典的v1~v3),是单阶段目标检测网络的开山鼻祖,YOLO-You only look once,表明其单阶段的特征,正是由于 ...

  9. matrix_multiply代码解析

    matrix_multiply代码解析 关于matrix_multiply 程序执行代码里两个矩阵的乘法,并将相乘结果打印在屏幕上. 示例的主要目的是展现怎么实现一个自定义CPU计算任务. 参考:ht ...

  10. 用TensorRT针对AArch64用户的交叉编译示例

    用TensorRT针对AArch64用户的交叉编译示例 以下介绍如何在x86_64linux下为AArch64 QNX和Linux平台交叉编译TensorRT示例. 2.1. Prerequisite ...