我做一个简单的鼠标输入和鼠标离开动画。当你鼠标输入div。比链接div更开放。当你鼠标移出时,div将关闭。我用slideUp和slideDown设置动画。
我的动画有问题。页面上有很多.comment div。当我快速将鼠标悬停在物品上时。幻灯片动画很疯狂,你很多时候都会看到动画。我该如何解决这个问题?谢谢!
$("#comments .comment .links").hide();
$("#comments .comment").mouseenter(function() {
$(".links",this).slideDown(300);
}).mouseleave(function() {
$(".links",this).slideUp(300);
});
答案 0 :(得分:6)
使用stop(true)
清除每个事件的动画队列:
$("#comments .comment .links").hide();
$("#comments .comment").mouseenter(function() {
$(".links",this).stop(true).slideDown(300);
}).mouseleave(function() {
$(".links",this).stop(true).slideUp(300);
});
此外,您可以使用hover()
:
$("#comments .comment .links").hide();
$("#comments .comment").hover(
function() { $(".links", this).stop(true).slideDown(300); },
function() { $(".links", this).stop(true).slideUp(300); }
);
答案 1 :(得分:2)
你的行为是什么?也许你可以在开始动画之前停止动画所有其他动画
$("#comments .comment").mouseenter(function() {
$("#comments .comment").stop();
$(".links",this).slideDown(300);
}).mouseleave(function() {
$(".links",this).slideUp(300);
});
答案 2 :(得分:0)
这里有同样的问题!
$(“#spezial_navi_btn_20”)。mouseenter(function(){
$("#content").stop(true).fadeOut("slow");
$("#spezial_navi").css('background-image', 'url(http://#)');
$("#spezial_navi_20").stop(true, true).slideUp("fast");
$("#spezial_navi_desc_20").stop(true, true).slideDown('slow', function() {
$("body").ezBgResize({
img : "http://#",
opacity : 1,
center : true
});
});
$("#spezial_navi_desc_30").stop(true, true).slideUp('slow');
$("#spezial_navi_30").stop(true, true).slideDown('slow');
$("#spezial_navi_desc_40").stop(true, true).slideUp('slow');
$("#spezial_navi_40").stop(true, true).slideDown('slow');
});
已解决!! 代替 : $(“#spezial_navi_20”)。stop(true,true).slideUp(“fast”); 和: $(“#spezial_navi_desc_20”)。stop(true,true).slideDown('slow',function(){ 我做了: $( “#spezial_navi_20”)效果基本show( “快”)。 和: $(“#spezial_navi_desc_20”)。slideDown('slow',function(){