setInterval();与setTimeout();的结合用法【js】

今天下午在写图片轮播的时候,想让“当鼠标放在图片上时,图片不轮播”

当我设置了鼠标over图片使time增加了几百倍。

然而由于我以前用的setInterval();调用的轮播效果,

我的图片依旧在轮播。。。time的该表已经不影响轮播效果的调用。。。

查阅了资料我对它们的理解是这样的:

setInterval()和 setTimeout()其实都是只调用了一次而已。。(正是因为这样,所以当我改变time值后,setInterval()还是以原来的time值进行循环操作)

区别就是setInterval是无限循环里面的步骤,直到出现一个使其停止的指令。

而setTimeout只执行一次里面的步骤----


然后我们要想让“当鼠标放在图片上时,图片不轮播”

可以用setInterval()调用setTimeout()---

每次调用setTimeout()时,time值就会读一次-.-这样改变time值就有了作用---------


方法如下:

var time = 1500;
var pian= new Array("photo/012.jpg","photo/013.jpg","photo/014.jpg","photo/015.jpg","photo/016.jpg","photo/017.jpg","photo/018.jpg","photo/021.jpg","photo/022.jpg");
var xi=new Array("photo/011.jpg","photo/019.jpg","photo/020.jpg","photo/023.jpg","photo/026.jpg","photo/027.jpg","photo/028.jpg");
var hh = document.getElementById("hh");
var ll= document.getElementById("ll");
var heng = document.getElementById("heng");
var wei= new Array(0,0);
	
hh.οnmοuseοver= function(){
	time=1500000;
}
hh.οnmοuseleave= function(){
	time=1500;
}
setInterval(change,time);
function change (){
	setTimeout(change1,time);
	setTimeout(change2,time*5);
}
function change1 (){
	wei[0]=(wei[0]+1)%pian.length;
	hh.src=pian[wei[0]];
}
function change2 (){
	wei[1]=(wei[1]+1)%xi.length;
	ll.src=xi[wei[1]];
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值