Javascript JQuery悬停问题
我使用jquery hover方法调用函数,如下所示Javascript JQuery悬停问题,javascript,jquery,Javascript,Jquery,我使用jquery hover方法调用函数,如下所示 $(<some_element>).hover(function(){animate("next",true);},function(){}); 但是,仅当鼠标进入元素时才调用animate函数。我希望它一直被调用,只要鼠标还在元素上 有什么办法可以做到这一点 谢谢。您可以使用mouvemove,但如果鼠标停留在您的元素上不活动,它将无法工作 从“设置动画”方法的中: .设置属性动画、[持续时间]、[缓和]、[回调] 回调:动画
$(<some_element>).hover(function(){animate("next",true);},function(){});
但是,仅当鼠标进入元素时才调用animate函数。我希望它一直被调用,只要鼠标还在元素上
有什么办法可以做到这一点
谢谢。您可以使用mouvemove,但如果鼠标停留在您的元素上不活动,它将无法工作 从“设置动画”方法的中: .设置属性动画、[持续时间]、[缓和]、[回调] 回调:动画完成后调用的函数
所以我认为你可以有一个回调,如果鼠标仍然在你的元素上,那么调用.animatenext,。。。再次说明。您可以使用mouvemove,但如果鼠标在元素上保持不活动状态,它将无法工作 从“设置动画”方法的中: .设置属性动画、[持续时间]、[缓和]、[回调] 回调:动画完成后调用的函数 所以我认为你可以有一个回调,如果鼠标仍然在你的元素上,那么调用.animatenext,。。。再来一次。试试这个:
var interval_id;
$(<some_element>).hover(
function(){
// start interval
interval_id = setInterval( function() {
// called every 100ms as long as the elem is hovered
animate("next",true);
}, 100 );
},
function(){
// stop interval
clearInterval( interval_id );
}
);
试试这个:
var interval_id;
$(<some_element>).hover(
function(){
// start interval
interval_id = setInterval( function() {
// called every 100ms as long as the elem is hovered
animate("next",true);
}, 100 );
},
function(){
// stop interval
clearInterval( interval_id );
}
);
您可以在没有全局变量等的情况下执行此操作:
$(<some_element>).hover(function(){
$(this).data("anim",setInterval(function() { animate("next",true); }, 500));
},function(){
clearInterval($(this).data("anim"));
});
这种方法也适用于多个元素,因为间隔存储在本地。只需将500半秒更改为您想要的动画频率。您可以在没有全局变量的情况下执行此操作,等等:
$(<some_element>).hover(function(){
$(this).data("anim",setInterval(function() { animate("next",true); }, 500));
},function(){
clearInterval($(this).data("anim"));
});
这种方法也适用于多个元素,因为间隔存储在本地。只需将500半秒更改为您想要设置动画的频率