0

setTimeout 有效,但 clearTimeout 是错误的。pn267 是 Navi-Div,而 uk267 是 Navi-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');
 });
4

1 回答 1

1

尝试摆脱引号:clearTimeout(myTimer);

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

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

于 2013-01-18T02:56:28.447 回答