Javascript 如何停止jQuery函数mouseenter()和mouseleave()的重复?
问题:当我将鼠标悬停在div块上时,ul列表项显示为fadein,当我将鼠标从div块上移开时,ul列表项逐渐消失,当我快速执行相同操作5、6、7次或更多次时,当我不使用鼠标时,mouseenter()和mouseleave()函数由于淡入淡出持续时间,正在重复。例如,如果函数mouseenter()已启动,则即使用户将鼠标从div块上分散,另一个函数mouseleave()也不会启动,mouseleave()函数必须等待mouseenter()函数完成其工作,然后mouseleave()函数才能启动,依此类推。。你怎么能做到 演示: HTML: jQuery:Javascript 如何停止jQuery函数mouseenter()和mouseleave()的重复?,javascript,jquery,mouseevent,mouseenter,mouseleave,Javascript,Jquery,Mouseevent,Mouseenter,Mouseleave,问题:当我将鼠标悬停在div块上时,ul列表项显示为fadein,当我将鼠标从div块上移开时,ul列表项逐渐消失,当我快速执行相同操作5、6、7次或更多次时,当我不使用鼠标时,mouseenter()和mouseleave()函数由于淡入淡出持续时间,正在重复。例如,如果函数mouseenter()已启动,则即使用户将鼠标从div块上分散,另一个函数mouseleave()也不会启动,mouseleave()函数必须等待mouseenter()函数完成其工作,然后mouseleave()函数才
$(document).ready(function() {
$('.responser').hide();
$(".block").mouseenter(function() {
$('.responser').fadeIn(1250);
});
$('.block').mouseleave(function() {
$('.responser').fadeOut(1250);
});
});
可以使用,.stop()
方法停止当前动画
$(".block").hover(
function () {
$('.responser').stop().fadeIn(1250);
}, function () {
$('.responser').stop().fadeOut(1250);
});
或
$(document).ready(function() {
$('.responser').hide();
$(".block").mouseenter(function() {
$('.responser').fadeIn(1250);
});
$('.block').mouseleave(function() {
$('.responser').fadeOut(1250);
});
});
$(".block").hover(
function () {
$('.responser').stop().fadeIn(1250);
}, function () {
$('.responser').stop().fadeOut(1250);
});
$(".block").mouseenter(function() {
$('.responser').stop().fadeIn(1250);
});
$('.block').mouseleave(function() {
$('.responser').stop().fadeOut(1250);
});