切图中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));

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值