clearTimeout不适用于数据

时间:2013-01-18 02:53:51

标签: javascript jquery settimeout

setTimeout有效,但clearTimeout错误。 pn267是Navi-Div,uk267是Navi-Div的第一级。但是在一个额外的Div。

 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 个答案:

答案 0 :(得分:1)

尝试删除引号:clearTimeout(myTimer);

您正在传递一个字符串。您需要传递与超时本身相关联的变量。

此外,我没有理由使用$().data。只需使用myTimer = setTimeout(function(){$(".uk267").hide();}, 500);