Javascript 悬停几秒钟后启动功能
在div悬停1500毫秒后,我想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
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