有两个同时运行的jquery函数,但我只希望其中一个一次运行
$(".newspaper_nav_int").hide();
$("#hide_list").hide();
$(".newspaper_nav").hover( function() {
hover();
})
$("#hide_list").click(function() {
hide_list()
})
function hover() {
$(".newspaper_nav_int").fadeIn(500)
$("#hide_list").fadeIn(1500)
}
function hide_list() {
$(".newspaper_nav_int").fadeOut(500)
$("#hide_list").fadeOut(1500)
}
答案 0 :(得分:1)
如果要避免这些动画重叠,可以使用标记在淡入/淡出时限制动画。在fadeIn
或fadeOut
中使用回调。这将阻止这些方法同时动画。
var animating = false;
function hover() {
if(animating) return;
animating = true;
$(".newspaper_nav_int").fadeIn(500, () => { animating = false; })
$("#hide_list").fadeIn(1500, () => { animating = false; })
}
function hide_list() {
if(animating) return;
animating = true;
$(".newspaper_nav_int").fadeOut(500, () => { animating = false; });
$("#hide_list").fadeOut(1500, () => { animating = false; });
}