2013-01-18 99 views
0

setTimeout有效,但clearTimeout錯誤。 pn267是Navi-Div,uk267是Navi-Div的第一個級別。但是在一個額外的分區。clearTimeout不適用於數據

var myTimer; 
$('.pn267').hover(function() { 
$('.uk267').animate({ opacity : 'show', height : 'show'}, 'fast'); 
}); 
$('.pn267').mouseout(function() { 
    $(this).data('myTimer', setTimeout('$(".uk267").hide()', 500)); 
}); 

$('.uk267').hover(function() { 
    myTimer = $(this).data('myTimer'); 
    clearTimeout('myTimer'); 
}); 

回答

1

儘量擺脫報價:clearTimeout(myTimer);

你傳遞一個字符串。您需要傳遞與超時本身相關的變量。

另外我沒有看到使用$().data的理由。只需使用myTimer = setTimeout(function(){$(".uk267").hide();}, 500);