按钮事件问题

按钮事件问题

http://img1.sycdn.imooc.com/climg//58f195ff0001bddb05810051.jpg

//封装一个代替getElementById()的方法
function byId(id){
	 return typeof(id) === "string"?document.getElementById(id):id;
}

//声明成全局
var index=0,
	timer=null;
	pics = byId("banner").getElementsByTagName("div"),
	dots = byId("dots").getElementsByTagName("span"),
	len=pics.length;
	
	

function slideImg(){
	var main=byId("main");
	//划过清楚定时器 离开继续
	main.onmouseover=function(){
		//划过清除定时器
		if (timer)clearInterval(timer);
	}
	main.onmouseout=function(){
		timer=setInterval(function(){
			index++;
			if (index>=len) {
				index=0;
			}
			//切换图片
			changeImg();
		},2000);
	}
main.onmouseout();
 for(var i=0,len=dots.length;i<len;i++){
       dots[i].id = i;
       dots[i].onclick = function(){
           index = this.id;
           changeImg();
       }
    }

}



function changeImg(){
	//遍历banner下多有的diV 将其隐藏
	for (var i = 0; i < len; i++) {
		pics[i].style.display="none";
	}
	pics[index].style.display="block";
}
slideImg();

请问下什么问题

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
Hbrsql 2017-04-15 13:02:34

   byId()没有取到值, 查看banner和dots是否有设置为html中的id.

 pics = byId("banner").getElementsByTagName("div"),  

 dots = byId("dots").getElementsByTagName("span"),


  • 提问者 从何说起_ #1
    有id啊 之前没设置dots = byId("dots").getElementsByTagName("span"),和for(var i=0,len=dots.length;i<len;i++){ dots[i].id = i; dots[i].onclick = function(){ index = this.id; changeImg(); } }这个的时候效果都可以 但是设置了以后整个都不行了
    2017-04-15 14:17:04
  • Hbrsql 回复 提问者 从何说起_ #2
    html css js的代码都传上来吗? 一起学习下~
    2017-04-15 17:43:57
  • Hbrsql 回复 提问者 从何说起_ #3
    能否把html css js的代码都传上来看看?
    2017-04-15 21:09:30
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师