<!DOCTYPE html> <html> <head> <title>JavaScript 第三章</title> <link rel="icon" type="image/x-icon" href="static/images/favicon.ico"> <style type="text/css"> div{ width: 500px;height: 300px; margin: 50px auto; overflow: hidden; position: relative; } img{width: 500px;height: 300px;display: none} p{color: #fff; width: 500px;height: 30px; position: absolute;z-index: 1000;bottom: 0;left: 0; text-align: center; line-height: 30px; } p span{ display: inline-block; width: 20px; height: 20px; text-align: center; background: rgba(254,254,254,0.6); border-radius: 50%; line-height: 20px; cursor: pointer; } </style> </head> <body> <div id="photo"> <!-- 图片列表 --> <a href=""><img src="static/images/1.jpg"></a> <a href=""><img src="static/images/2.jpg"></a> <a href=""><img src="static/images/3.jpg"></a> <a href=""><img src="static/images/4.jpg"></a> <a href=""><img src="static/images/5.jpg"></a> <!-- 图片按钮 --> <p> <span onclick="change(0)">1</span> <span onclick="change(1)">2</span> <span onclick="change(2)">3</span> <span onclick="change(3)">4</span> <span onclick="change(4)">5</span> </p> </div> <script type="text/javascript"> // 利用获取元素下标实现简单轮播,获取到元素下标从0开始,给对应span一个点击事件,每次循环 // 图片元素数组,传入数字线标的图片元素显示,其他隐藏 function change(num){ var obj=document.getElementById('photo'); var obj_a=obj.getElementsByTagName('a'); //隐藏a for(var i=0;i<obj_a.length;i++){ obj_a[i].style.display="none"; } obj_a[num].style.display="block" } </script> </body> </html>
选项卡
<!DOCTYPE html> <html> <head> <title>JavaScript 第三章</title> <link rel="icon" type="image/x-icon" href="static/images/favicon.ico"> <style type="text/css"> #photo{ width: 500px;height: 300px; margin: 50px auto; overflow: hidden; position: relative; } #photo div{position: absolute; width: 400px; height: 300px; } .one{background: red} .two{background: green} .three{background: blue} </style> </head> <body> <div id="photo"> <div class="one"> </div> <div class="two"> </div> <div class="three"> </div> </div> <div style="width:500px;margin: 50px auto;"> <button onclick="change(0)" >红</button><button onclick="change(1)" >绿</button><button onclick="change(2)" >蓝</button> </div> <script type="text/javascript"> // 原理和轮播图相同,通过点击事件传入下标,先循环隐藏所有选项卡,再显示传入下标得选项卡 function change(num){ var obj=document.getElementById('photo'); var div=obj.getElementsByTagName('div'); console.log(div); for(var i=0;i<div.length;i++){ div[i].style.display="none"; } div[num].style.display="block"; } </script> </body> </html>
点击 "运行实例" 按钮查看在线实例
总结:
通过点击事件传入元素相应下标来控制显示隐藏