0
我使用setTimeout
函数来设置display: block;
并附加到li
,在鼠标悬停上。我只是想删除块,使其无法使用。jquery超时功能不能正常工作
我的功能工作正常,但问题是如果鼠标穿越li
,它本身的块变得可见。我怎样才能避免这种情况?
我的代码是:
var thisLi;
var storedTimeoutID;
$("ul.redwood-user li,ul.user-list li").live("mouseover", function(){
thisLi = $(this);
var needShow = thisLi.children('a.copier-link');
if($(needShow).is(':hidden')){
storedTimeoutID = setTimeout(function(){
$(thisLi).children('a.copier-link').appendTo(thisLi).show();
},3000);
}
else {
storedTimeoutID = setTimeout(function(){
$(thisLi).siblings().children('a.copier-link').appendTo(thisLi).show();
},3000);
}
});
$("ul.redwood-user li,ul.user-list li").live("mouseleave", function(){
clearTimeout(storedTimeoutID);
//$('ul.redwood-user li').children('a.copier-link').hide();
$('ul.user-list li').children('a.copier-link').hide();
});
我不是很确定你想说什么,你给出的代码的工作原理,所以我猜测它没有做到你想要的。你可以再扩展一下吗? – Nalum 2010-04-21 10:03:54
@ 3gwebtrain:我编辑了你的答案,试图提高英语水平,使其更具可读性。我刚刚结束了'它自己的块变得可见'这句话,你能否尝试和重述这个,以便我们明白你的意思? – 2010-04-21 10:31:17