Javascript clearTimeout不适用于数据

Javascript clearTimeout不适用于数据,javascript,jquery,settimeout,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('my

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');
 });

试着去掉引号:
clearTimeout(myTimer)

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

我也不认为有理由使用
$().data
。只需使用
myTimer=setTimeout(函数(){$(.uk267”).hide();},500)