6-2作业 疑问

来源:6-2 作业题

qq_陌_45

2017-12-19 14:26:07

//封装一个代替document.getElementById()的方
function byId(id){
	return typeof(id)==="string"?document.getElementById(id):id;
}
//全局变量
var arr=byId("tupian"),
	arrr=arr.getElementsByTagName("div"),
	index=0,
	timer=null,
	len=arrr.length,
	tit=byId("tit").getElementsByTagName("div"),
	dots=byId("dots").getElementsByTagName("span"),
	pp=byId("dots");

function slideImg(){
	//划过清楚定时器
	arr.onmouseover=function(){
		if(timer) clearInterval(timer);
	}
	//离开定时器切换图片
	arr.onmouseout=function(){
		timer=setInterval(function(){
			index++;
			if(index>=len){
				index=0;
			}
			changeImg();
			//切换图片
		},3000)
	}
//自动在arr上触发鼠标离开的事件
arr.onmouseout();
//在标题上绑定鼠标点击事件
for(var j=0;j<len;j++){
	tit[j].id=j;
	tit[j].onclick=function(){
		//改变index为当前div的id值
		index=this.id;
		//调用changeImg
		changeImg();
	}
}
//在圆点导航上绑定鼠标点击事件
for(var o=0;o<len;o++){
	dots[o].id=o;
	dots[o].onclick=function(){
		index=this.id;
		//调用changeImg
		changeImg();
	}
}
}


function changeImg(){
	//遍历tupian下的所有DIV将其隐藏
	for(var i=0;i<len;i++){
		arrr[i].style.display="none";
		tit[i].className=" ";
		dots[i].className=" ";
	}
	//根据index索引找出当前DIV,将其显示出来
	arrr[index].style.display="block";
	tit[index].className="yanse";
	dots[index].className="dots-a"
}
slideImg();

讲师点评:页面问题如下: 【规范方面】 网页文件夹管理,图片、样式表、脚本等资料独立文件夹,不要放在一起,太混乱了。 【整体效果】 按照效果图所示: 要求当鼠标放置在整个大盒子上时停止轮播,你的页面只是鼠标放在图片上时停止了图片的轮播,鼠标放在选项卡时,没有停止选项卡的变化,将停止定时器的盒子修改一下。 如果有问题,可以在问答区进行提问,我们的助教会针对你的问题给与帮助和解答!

请问怎么修改最合适,要在重新获取标题的DOM对象在绑定鼠标划过和离开事件吗?



写回答

1回答

好帮手慕糖

2017-12-19

你好,是的哦,这里是指,鼠标在移入选项卡以及图片的时候都要停止轮播(即停止计时器),所以建议:把鼠标移入与移出事件设置给包裹整体(同时包裹选项卡与图片的)盒子。

祝学习愉快~

0

0 学习 · 36712 问题

查看课程

相似问题

6-2作业

回答 1

6-2作业

回答 1

6-2作业题

回答 1