2016-12-26 53 views
-1

连续我想创建一个函数,在我将鼠标悬停后运行几秒钟,如'update'函数。如何在悬停时保持运行?

但是我没有找到办法在盘旋时连续运行。

请让我知道,如果你知道如何做到这一点。

+0

使用'.mouseenter()' – ab29007

+1

使用'setTimeout'几秒后运行一些东西。 – Barmar

+0

我认为你需要提供更多的信息/一个具体的例子。 –

回答

2

jQuery让我想呕吐,所以,是啊..原生JS结合这一点;

(在文章底部点击蓝色的 “运行代码片断” 按钮,将鼠标悬停在 “悬停我” 按钮)

var hover; 
 
btn.addEventListener('pointerover', function(evt){ 
 
    // We have started hovering the btn, start interval. 
 
    hover = setInterval(function(){ 
 
     //every 1000 MS, add another "Hi" to the debug div. 
 
     debug.innerHTML += "Hi "; 
 
    }, 1000); 
 
    
 
}); 
 

 
btn.addEventListener('pointerout', function(evt){ 
 
    //Leaving & stopped hovering the btn, stop interval. 
 
    clearInterval(hover); 
 
});
<button id="btn">Hover Me</button> 
 
<div id="debug"></div>

1

我想你是问如何在事件发生后的几秒钟触发行为。您可以使用delay函数在jQuery中执行此操作,例如

$("#foo").slideUp(300).delay(800).fadeIn(400); 

要使用的mouseenter它会是这样的

$("#foo").mouseenter(function(){ 
    $("#foo").slideUp(300).delay(800).fadeIn(400); 
}); 
相关问题