2013-01-18 39 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);