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