HTML学习之轮播图
2019-10-08 08:50:48来源:博客园 阅读 ()
HTML学习之轮播图
这可以说是一种非常简单的实现轮播图的方法了,由于时间仓促所以没写自动轮播部分。简单说一下原理吧,就是把所有图片堆叠在一个盒子里,设置所有图片的透明度为0,这样就把所有图片都隐藏了,第一张图片除外(第一张透明度设为1),当要切换到某张图片时,在把该图片的透明度设为1,而其他的图片透明度设为0,这样就实现了简单的轮播啦。
代码:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <title>淡入淡出轮播图</title> 6 <!-- css样式 --> 7 <style type="text/css"> 8 /*清除边距*/ 9 div,ul,li{ 10 margin: 0; 11 padding: 0; 12 } 13 14 /*首先准备一个放图片的容器*/ 15 .container{ 16 width: 500px; 17 height: 280px; 18 position: relative; 19 top: 100px; 20 left: 30%; 21 /*border: 1px solid #ccc;*/ 22 } 23 24 /*图片样式*/ 25 .container img{ 26 position: absolute; /*把所有图片放在同一个位置*/ 27 width: 100%; 28 transition-duration: 1s; /*设置过渡时间*/ 29 opacity: 0; /*把所有图片变透明*/ 30 } 31 /*图片显示开关*/ 32 .container img.on{ 33 opacity: 1; /*用于显示图片*/ 34 } 35 36 /*左右按钮 按钮用图片更好点,这里为了简便就用大于小于号*/ 37 .left, .right{ 38 position: absolute; 39 top: 30%; 40 width: 60px; 41 height: 100px; 42 line-height: 100px; 43 background-color: #666; 44 opacity: 0.5; 45 text-align: center; 46 font-size: 60px; 47 color: #ccc; 48 display: none; /*先隐藏按钮*/ 49 cursor: pointer; /*设置鼠标悬停时的样式*/ 50 } 51 .left{ 52 left: 0; 53 } 54 .right{ 55 right: 0; 56 } 57 .container:hover .left, .container:hover .right{ 58 display: block; /*鼠标悬停才容器范围内时显示按钮*/ 59 } 60 .left:hover, .right:hover{ 61 color: #fff; 62 } 63 64 /*焦点*/ 65 .container ul{ 66 position: absolute; 67 bottom: 0; 68 max-width: 500px; 69 padding: 5px 200px; 70 } 71 .container ul li{ 72 list-style: none; 73 float: left; 74 width: 10px; 75 height: 10px; 76 border-radius: 50%; 77 margin-left: 10px; 78 background-color: #ccc; 79 cursor: pointer; 80 } 81 .container ul li.active{ 82 background-color: #fff; /*焦点激活时的样式*/ 83 } 84 85 </style> 86 </head> 87 <body> 88 <div class="container"> 89 <!-- 图片 --> 90 <!-- 先把第一张图片显示出来 --> 91 <img class="on" src="img/1.jpg" /> 92 <img src="img/2.jpg" /> 93 <img src="img/3.jpg" /> 94 <img src="img/4.jpg" /> 95 <img src="img/5.jpg" /> 96 97 <!-- 左右按钮 --> 98 <div class="left"><</div> 99 <div class="right">></div> 100 101 <!-- 焦点 --> 102 <ul> 103 <li class="active"></li> 104 <li></li> 105 <li></li> 106 <li></li> 107 <li></li> 108 </ul> 109 </div> 110 111 <!-- js部分 --> 112 <script type="text/javascript"> 113 //1、找到container下的所有img标签,li标签,左右按钮 114 var aImgs = document.querySelectorAll('.container img'); 115 var aLis = document.querySelectorAll('.container li'); 116 var btnLeft = document.querySelector('.container .left'); 117 var btnRight = document.querySelector('.container .right'); 118 119 // //检验是否找到 120 // console.log(aImgs); 121 // console.log(aLis); 122 // console.log(btnLeft); 123 // console.log(btnRight); 124 125 //点击事件 126 //点击按钮图片切换 127 var index = 0; //当前图片下标 128 var lastIndex = 0; 129 btnRight.onclick = function(){ 130 //记录上一张图片的下标 131 lastIndex = index; 132 //清除上一张图片的样式 133 aImgs[lastIndex].className = ''; 134 aLis[lastIndex].className = ''; 135 136 index++; 137 index %= aImgs.length; //实现周期性变化 138 //设置当前图片的样式 139 aImgs[index].className = 'on'; 140 aLis[index].className = 'active'; 141 } 142 //左边按钮类似 143 btnLeft.onclick = function(){ 144 //记录上一张图片的下标 145 lastIndex = index; 146 //清除上一张图片的样式 147 aImgs[lastIndex].className = ''; 148 aLis[lastIndex].className = ''; 149 150 index--; 151 if (index < 0) { 152 index = aImgs.length - 1; 153 } 154 //设置当前图片的样式 155 aImgs[index].className = 'on'; 156 aLis[index].className = 'active'; 157 } 158 </script> 159 </body> 160 </html>
原文链接:https://www.cnblogs.com/sky-top/p/11624570.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:css如何实现图片垂直居中
- DIV居中的经典方法 2020-06-13
- Html/css 列表项 区分列表首尾 2020-06-11
- HTML骨架 2020-06-10
- HTML基础教程_1 2020-06-09
- HTML基础02 2020-06-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash