2012-02-24 58 views
1

我试图创建一个效果,在鼠标悬停,从父div的底部滑出一个div,并在幻灯片完成后反弹。JQuery幻灯片效果与反弹定位问题

$("#testDiv").hover(function() { 
    $(".box").stop().slideDown("slow", function() { 
     $(".box").effect("bounce", { 
      times: 3, distance: 3 
     }, 250); 
    }); 

    }, function() { 
     $(".box").stop().slideUp(); 
}); 

我的代码小提琴到目前为止是在这里:

http://jsfiddle.net/7TZ3E/

有时候似乎工作,那么它在许多不同的方式搅乱。要么停止显示,跳到父div的顶部,要么缓慢减小尺寸。

我很感激任何帮助,以产生我期待的效果!

回答

5

可能,这将帮助你

$("#testDiv").hover(function(e) { 
    $(".box").stop(true,true).animate({height: ['toggle', 'easeOutBounce']}, 'medium'); 
}, 
function(e) { 
    $(".box").stop(true,true).animate({height: 'toggle'}); 

});​ 

Here是小提琴。

+0

这仍然存在这样的问题,即如果快速进出蓝框,黑盒子的高度变得越来越小。我认为这里的问题是,在动画停止时,它似乎'记住'动画停止在黑盒子的高度,并从那里继续。 – Umair 2012-02-24 17:27:09

+0

@Umair:没错。我认为最好用boxcontainer div来处理盒子的位置,盒子通常在其容器中滑动。 – 2012-02-24 17:31:21

+0

我认为黑匣子不会变小,当它可见时总是30px。 – 2012-02-24 17:37:35