切图中js立即执行函数的引用

本文介绍了一种轮播图实现方式,通过设置定时器自动切换图片,并使用鼠标悬停事件来改变当前显示的图片及对应的文字样式。文章详细解释了如何利用闭包来确保每个事件处理函数能够正确引用其对应的图片索引。

如图所示,这是个轮播图,但我没有采用滑的方式显示,我设置了一个定时器,每隔3秒钟切换一次图片,在图片的右下角,有一个说明框,我给说明框里的li标签加了mouseover事件,当鼠标移入时,显示对应图片,并相应文字样式发生变化,为了实现这个功能,我利用立即执行函数,每执行一次都创造一个私有空间,使得每个qie函数都有自己自己相对应的i值,这里要注意qie函数的申明要在立即执行函数里面,这样在每次执行立即执行函数时遇到qie函数时,创建的scope都是在当前立即执行函数的scope之上的,所以在执行qie函数时,l利用scope就可以访问到相对应的i,这种现象可以叫做闭包

(function(i){
		//qie函数定义要放在立即执行函数里面才能起作用
		function qie(){
			//console.log(i);
			for(var j = 0; j < image_li_len; j ++){
				image_li[j].style.display = 'none';
				image_li[j].style.display = 'none';
				explain_li[j].style.color = '#aeacac';
				explain_li[j].style.height = '50px';
				explain_li[j].style.fontSize = '12px';
				explain_li[j].style.lineHeight = '50px';
			}
			image_li[i].style.display = 'block';
			explain_li[i].style.color = '#fff';
			explain_li[i].style.height = '70px';
			explain_li[i].style.fontSize = '13px';
			image_li[i].style.display = 'block';
		}
		addEvent(explain_li[i], 'mouseover', qie);
	}(i));

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值