Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 悬停几秒钟后启动功能_Javascript_Jquery - Fatal编程技术网

Javascript 悬停几秒钟后启动功能

Javascript 悬停几秒钟后启动功能,javascript,jquery,Javascript,Jquery,在div悬停1500毫秒后,我想fadeIn()。 我需要如何检查用户是否悬停在1500毫秒 <div id=bla>Hover this</div> var bla = $('#bla'); bla.hover(function(){ bla.hide().html("HEHE").fadeIn("slow"); }); 将此鼠标悬停 var bla=$(“#bla”); bla.hover(函数(){ bla.hide().html

在div悬停1500毫秒后,我想
fadeIn()
。 我需要如何检查用户是否悬停在1500毫秒

<div id=bla>Hover this</div>

var bla = $('#bla');

bla.hover(function(){       
        bla.hide().html("HEHE").fadeIn("slow");
});
将此鼠标悬停
var bla=$(“#bla”);
bla.hover(函数(){
bla.hide().html(“呵呵”).fadeIn(“慢”);
});

可以使用
setTimeout
,如果用户像这样离开
bla
,只需清除
setTimeout

var超时,
bla=$(#bla');
悬停(
函数(){
timeout=setTimeout(函数(){
bla.hide().html(“呵呵”).fadeIn(“慢”)
}, 1500);
}, 
函数(){
clearTimeout(超时);
}
);


Text
您可以使用与setTimeout和hoverOut()相结合的自定义标志


我们在悬停时设置超时回调,但在取消悬停时清除它。

为什么不使用setTimeout?因为每当用户悬停时都会显示setTimeout,所以我想检查它的悬停是否比show的悬停时间长1500毫秒,这可能会对您有所帮助,但您可以在用户离开“bla”纯javascript示例FIDLE时清除超时。您可以将超时设置在bla中,像这样
bla.timeout=x创建后。。。然后您可以通过以下方式清除超时:
cleartimout(bla.timeout)
(function() {                                   // Scope protected
  var bla = $('#bla');                          // Your div
  var timeout;                                  // Variable to store the setTimeout id

  bla.hover(function() {                        // Hover can take two callbacks
    timeout = setTimeout(function() {           // On hover, we setTimeout and store it
      bla.hide().html("HEHE").fadeIn("slow");   // 1500ms later, we fadeIn
    }, 1500);
  }, function () {                              // Unhover callback
    clearTimeout(timeout);                      // We simply clear the timeout
  });
})();                                           // Directly calling the scope