javascript的clearTimeout问题
下面的程序为什么在firefox,谷歌中无限循环我的思路是这样的:打开页面,5秒后页面中的一幅图片的高度会慢慢缩小,直到为0;然后更换为另一幅图片<divid="top_...
下面的程序为什么在firefox,谷歌中无限循环
我的思路是这样的:
打开页面,5秒后页面中的一幅图片的高度会慢慢缩小,直到为0;
然后更换为另一幅图片
<div id="top_box"> <img src="image/top1.jpg" id="logopic" width="960px"></div>
<script>
window.onload=function(){
setTimeout(switchSmall, 5000);
};
var timer=null;
function switchSmall(){
var myImg=document.getElementById('logopic');
var h=myImg.offsetHeight;
if(h>0){
h-=10;
myImg.height=h;//alert(h);
timer=setTimeout(switchSmall, 100);
}else{
clearTimeout(timer);
myImg.src="image/top2.jpg";
myImg.height=100;
}
} 展开
我的思路是这样的:
打开页面,5秒后页面中的一幅图片的高度会慢慢缩小,直到为0;
然后更换为另一幅图片
<div id="top_box"> <img src="image/top1.jpg" id="logopic" width="960px"></div>
<script>
window.onload=function(){
setTimeout(switchSmall, 5000);
};
var timer=null;
function switchSmall(){
var myImg=document.getElementById('logopic');
var h=myImg.offsetHeight;
if(h>0){
h-=10;
myImg.height=h;//alert(h);
timer=setTimeout(switchSmall, 100);
}else{
clearTimeout(timer);
myImg.src="image/top2.jpg";
myImg.height=100;
}
} 展开
3个回答
展开全部
setTimeout是不需要clearTimeout的,我想你是用错函数了吧,应该用setInterval代替setTimeout
setTimeout是一次性的,setInterval是间隔固定的时间执行
setTimeout是一次性的,setInterval是间隔固定的时间执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把js剪切到</head>标签之前,并加上</script>,然后试试在火狐下,我这边显示没问题,效果和你想要的符合
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询