正在回答
3回答
可以把下面所有代码放在window.onload(){}里面,参考:
就不会出错了,自己测试一下,祝学习愉快~~
金属girl
2018-03-03 14:45:32
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>轮播图</title> <link rel="stylesheet" href="css/css.css"> <script src="js/javascript.js"></script> </head> <body> <div class="main" id="main"> <!-- 选项卡 --> <div class="box" id="box"> <ul> <li class="box-active"><a href="javascript:void(0)">首页</a></li> <li><a href="javascript:void(0)">贯穿全栈</a></li> <li><a href="javascript:void(0)">会自动的</a></li> <li><a href="javascript:void(0)">我的网站</a></li> </ul> </div> <!-- 轮播图 --> <div class="banner" id="banner"> <a href=""> <div class="banner-pg pg1 pg-active"></div> </a> <a href=""> <div class="banner-pg pg2"></div> </a> <a href=""> <div class="banner-pg pg3"></div> </a> <a href=""> <div class="banner-pg pg4"></div> </a> </div> </div> </body> </html>
//封装一个getElementById函数 function byId(id){ return typeof(id)==="string"?document.getElementById(id):id; } window.onload=function(){ //定义全局变量 var timer=null, index=0, main = byId('main'), box = byId('box'), banner = byId('banner'), pics = banner.getElementsByTagName("div"), boxLi = box.getElementsByTagName("li"), len = boxLi.length; // alert(len); slidePic(); } function slidePic(){ //鼠标停留在页面上,清除定时器 main.onmouseover = function(){ if(timer){ clearInterval(timer); } } //鼠标离开时,设置定时器图片每1秒切换1次 main.onmouseout = function(){ timer = setInterval(function(){ index++; if(index>=len){ index = 0; } //切换图片 changeImg(index); },1000); } main.onmouseout(); //遍历所有选项卡,绑定鼠标点击事件 for(var i=0;i<len;i++){ boxLi[i].id = i; boxLi[i].onclick = function(){ index = this.id; changeImg(index); // return false; } } } //切换图片 function changeImg(){ for(var b=0;b<len;b++){ pics[b].style.display="none"; boxLi[b].className=""; } console.log(index); pics[index].style.display="block"; boxLi[index].className="box-active"; } // slidePic();
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星