演示效果

轮播图代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.banner {width: 500px;height: 300px;position: relative;/* border: 1px solid red; */margin: 100px auto;}.banner .wrap {width: 100%;}.banner .wrap .item {width: 100%;}.item img {width: 500px;height: 300px;vertical-align: top;position: absolute;}.div1 {position: absolute;left: 0;top: 50%;transform: translatey(-50%);cursor: pointer;width: 41px;height: 69px;font-size: 30px;line-height: 70px;text-align: center;color: #D6D8D4;background-color: rgba(0, 0, 0, 0.3);}.div2 {position: absolute;right: 0;top: 50%;transform: translatey(-50%);cursor: pointer;width: 41px;height: 69px;font-size: 30px;line-height: 70px;text-align: center;color: #D6D8D4;background-color: rgba(0, 0, 0, 0.3);}.pagenation {position: absolute;/* border: 1px solid red; */left: 50%;transform: translateX(-50%);display: flex;bottom: 40px;}.pagenation>div {width: 10px;height: 10px;border-radius: 50%;background-color: white;margin-right: 10px;cursor: pointer;}.pagenation>div:last-child {margin-right: 0;}</style>
</head>
<body><div class="banner"><div class="warp"><div class="item"><img src="./img/1.jpg" alt=""></div><div class="item"><img src="./img/2.jpg" alt=""></div><div class="item"><img src="./img/3.jpg" alt=""></div><div class="item"><img src="./img/4.jpg" alt=""></div></div><div class="div1"><</div> <div class="div2 ">></div><!-- 小圆点 --><div class="pagenation"><div id="pagenation-item0"></div><div id="pagenation-item1"></div><div id="pagenation-item2"></div><div id="pagenation-item3"></div></div></div><script>var index = 0; //定义初始下标var banner = document.getElementsByClassName("banner")[0];var itemList = document.getElementsByClassName("item");var pagenationList = document.querySelectorAll(".pagenation>div");var pagenation = document.querySelector(".pagenation");itemList[0].style.opacity = 1;pagenationList[0].style.background = "blue" //初始第一张图对应的小圆点的颜色为蓝色var up = document.getElementsByClassName("div1")[0];var next = document.getElementsByClassName("div2")[0];//下一张图片(封装方便下面自动播放定时器调用)function nextFn() {index = index >= itemList.length - 1 ? 0 : ++index; //判断点击到了最后一张图片再次点击返回到第一张图for (var i = 0; i < itemList.length; i++) {itemList[i].style.opacity = 0; //图片透明度为0图片隐藏pagenationList[i].style.background = "white " //图片没显现小圆点的颜色为白色}itemList[index].style.transition = "opacity 1s ease .2s"itemList[index].style.opacity = 1; //图片透明度为1图片显现pagenationList[index].style.background = "blue" //图片显现小圆点的颜色为蓝色}next.onclick = nextFn; //下一张(点击事件)点击切换下一张图片up.onclick = function () { //上一张(点击事件)点击切换上一张图片index = index <= 0 ? itemList.length - 1 : --index; //判断点击到了第一张图片再次点击返回到最后一张图for (var i = 0; i < itemList.length; i++) {itemList[i].style.opacity = 0;pagenationList[i].style.background = "white"}itemList[index].style.transition = "opacity 1s ease .2s" //增加过渡效果itemList[index].style.opacity = 1;pagenationList[index].style.background = "blue"}//设置定时器,自动向下播放图片var t1 = setInterval(nextFn, 2000) banner.onmouseover = function () {clearInterval(t1);}banner.onmouseout = function () {t1 = setInterval(nextFn, 2000)}// 事件委托pagenation.onclick = function (event) {event = window.event || eventconsole.log(event);if (event.target.className == "pagenation") {console.log("点击的是父元素");} else {var id = event.target.id;var photoIndex = null;for (var i = 0; i < pagenationList.length; i++) {pagenationList[i].style.background = "white"if (id.indexOf(i) >= 0) {photoIndex = i;}}event.target.style.background = "blue"index = photoIndex; // 将小圆点对应的下标与图片下标对应for (var i = 0; i < itemList.length; i++) {itemList[i].style.opacity = 0;}itemList[index].style.transition = "opacity 1s ease .2s"itemList[photoIndex].style.opacity = 1;}}</script>
</body></html>

Html+CSS+JS轮播图:手动轮播,自动轮播相关推荐

  1. js轮播图(手动轮播+自动轮播)

    效果图 一.先获取一下需要用到的元素 var leftbtn=document.querySelector('.leftbtn'); //左按钮var rightbtn=document.queryS ...

  2. 定时器轮播图---(功能:自动轮播,左右箭头点击切换,点击圆点跳转图片)

    定时器轮播图 几个部分: 封装重复函数 左右箭头点击切换效果 自动轮播-定时器控制(模拟左箭头点击效果以显示出自动轮播的效果).鼠标移入停止,移出继续效果 点击圆点跳转相应页面(解决了点击后不继续轮播 ...

  3. css+ js轮播效果

    css+ js 图片/视频轮播效果 <!DOCTYPE HTML> <head><meta charset="utf-8"><link r ...

  4. css js 打印背景图

    参考:https://blog.csdn.net/lidysun/article/details/88995208 如果不对浏览器设置,直接打印时是无法打印背景图的. 方法1:css @media p ...

  5. vue写一个轮播图实例(没有自动轮播)

    要点: 1.<li v-for="(item,index) in arr" v-on:click="lick(item)"><!-- 第{{i ...

  6. Android轮播图 banner,图片视频混播banner

    1.使用Android循环滚动控件--ViewFlipper实现方法:https://blog.csdn.net/meixi_android/article/details/84615857 2.使用 ...

  7. 原生JS实现PC端无缝滚动轮播图、匀速轮播图、匀速动画

    offset家族的了解 1.offsetHeight:元素的offsetHeight是一种元素CSS高度的衡量标准,包括元素的边框.内边距和元素的水平滚动条(如果存在且渲染的话),不包含:before ...

  8. 英雄联盟轮播图自动轮播

    六月过去了,七月还会远吗?不知不觉到了六月底的最后一天.你好,七月! 大家好,我是小陈陈呀,上次写了一篇英雄联盟轮播图手动轮播,当天晚上有很多大朋友小朋友私信小陈陈:可以在上次手动轮播的基础上,实现自 ...

  9. 电商项目实战第四节: CSS3+HTML5+JS 设计案例【考拉海购网站】之【轮播图特效】

    上一节:电商项目实战第三节: CSS3+HTML5+JS 设计案例[考拉海购网站]之[分类导航栏] 文章目录 [考拉海购网站]之[轮播图特效] 第一步,根据页面布局写相应的html标签 index.h ...

最新文章

  1. ffmpeg 快速定位帧-资料整理
  2. 补第一阶段冲刺站立会议3(应发表日期5月15日)
  3. 和日本萌妹一起读深度学习最新论文,阅读难度会降低吗?
  4. Educational Codeforces Round 111 (Rated for Div. 2) D. Excellent Arrays 组合数学
  5. 使用pp架构形成计算机集群请求的地址无效_干货!史上最详细脑图《大型网站技术架构》...
  6. pdo 参数化查询 mysql函数_PDO笔记之参数化查询
  7. ReactNative环境搭建扩展篇——安装后报错解决方案
  8. 【OpenCV 例程200篇】91. 高斯噪声、瑞利噪声、爱尔兰噪声
  9. 究竟哪种取数据的方式最快?
  10. Centos 系统swap虚拟内存添加与删除配置
  11. 巧用FineReport搭建成本管控监测系统
  12. qml修改图片的颜色
  13. 矩阵分析 (七) 矩阵特征值的估计
  14. 毕设一:python 爬取苏宁的商品评论
  15. C语言逻辑运算符,位运算符总结
  16. win10家庭中文版升级专业版心得
  17. java实现多模匹配算法_多模字符串匹配算法-Aho–Corasick
  18. 最伟大的IT人物10强(转)
  19. [交互设计]简约至上4原则
  20. NVME NSSR (Nvme Sub System Reset)

热门文章

  1. 手机sd卡恢复工具android版,SD卡数据恢复软件
  2. win8.1磁盘使用率100解决方法
  3. 如何设计一个API快速开发平台?
  4. 一键就能发布项目-DevOps_v1.0.1
  5. mac home/end/pageup/pageDown
  6. php 中输出字符串时怎么换行?
  7. 各种机械键盘轴的区别,我到底该用什么轴?
  8. 未来计算机的发展英文文章,计算机的现状和未来计算机发展(The status quo of computers and future computer development).doc...
  9. VUE项目前端页面添加水印
  10. 如何去开发一个webApp