无法实现轮播
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>6-2项目作业</title> <link href="6-2style.css" rel="stylesheet" type="text/css" /> </head> <body> <div class="main" id="abc"> <div class="nav"></div> <div class="pics" id="pics"> <div class="pic active"> <a href="#"> <img src="img/1.jpg"/> </a> </div> <div class="pic "> <a href="#"> <img src="img/3.jpg"/> </a> </div> <div class="pic"> <a href="#"> <img src="img/4.jpg"/> </a> </div> <div class="pic"> <a href="#"> <img src="img/5.jpg"/> </a> </div> </div> </div> <script src="6-2script.js"></script> </body> </html>
我的想法是:利用给不同的div添加active这个class,来实现让正确的图片出现block从而达到显示的目的,但为什么不行呢,我到底是出了什么问题,看了好多遍老师的例题还是无法理解。。。。。
0
收起
正在回答 回答被采纳积分+1
4回答
慕丝6937110
2018-09-13 10:45:13
//封装一个函数来获取dom元素 function getId(idName){ return document.getElementById(idName); } //一些全局变量 //var main=document.getElementById("main") var abc=getId("abc"); var pics=getId("pics").getElementsByTagName("div"); var len=pics.length; var index=0; var picsAuto; //实习图片每隔2秒轮播 abc.onclick=function(){ picsAuto=setInterval( function(){ index++; pics[index].className="pic active"; if(index==len){ for(var i=0; i<len; i++){ pics[i].className="pic"; } index=-1; } },2000); }
这是我的js代码
慕丝6937110
2018-09-13 10:44:32
{ margin:0px; padding:0px; } .main{ border:2px solid blue; /*使整个盒子水平居中显示*/ height:510px; width:1200px; position:absolute; left:0px; right:0px; top:0px; bottom:0px; margin:auto; } .nav{ height:50px; width:1200px; border:1px solid black; } .pic{ position: absolute; display:none; } .active{display:block;}/*因为先在pic里写了none,然后再在 active里写了block,根据class优先级所以有效*/ /*为什么只能用display才有效, 我想设置z-index来让优先级大的图片 显示出却不行??*/
这是我的css代码
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星