js clearTimeout不起作用怎么回事,关不了那个定时器

window.onload=function(){varoSet=document.getElementsByClassName("setting")[0];varoSe... window.onload=function(){
var oSet=document.getElementsByClassName("setting")[0];
var oSetBar=document.getElementsByClassName("stting_bar")[0];
timer=null;

oSet.onmouseover=function()
{
oSetBar.style.display='block';
};
oSet.onmouseout=function()
{
timer=setTimeout(function(){
oSetBar.style.display='none';
},300);
};
oSetBar.onmouseover=function()
{
clearTimeout(timer);

};
}
展开
 我来答
荒村村民
2017-01-09
知道答主
回答量:13
采纳率:0%
帮助的人:6万
展开全部
设置延时器之前先清除下延时器,不然每次事件触发都会多一个延时器,延时器之间互相干扰,造成紊乱。
oSet.onmouseout=function()
{
clearTimeout(timer) //在这多写一行清除代码,其它不变,下面清除延时器代码也不变
timer=setTimeout(function(){
oSetBar.style.display='none';
},3000);
};

题主试一下,应该是这个问题
更多追问追答
追问
加了那行代码还是不行,还是没关上
追答
不知道你说的关是咋关,只要鼠标从oSet移开,就会重新设置一个延时器
差一点就是老头
2017-01-09 · 超过30用户采纳过TA的回答
知道答主
回答量:141
采纳率:50%
帮助的人:30.6万
展开全部
//设定时器
var timer=setTimeout(......);
//停止定时器
clearTimeout(timer);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式