Mouseenter和mouseleave with animation

时间:2012-05-09 09:29:59

标签: javascript jquery slidedown slideup mouseenter

我做一个简单的鼠标输入和鼠标离开动画。当你鼠标输入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);
});

3 个答案:

答案 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(){