滑动动画,不太完美

时间:2012-04-04 09:37:56

标签: jquery animation

http://jsfiddle.net/UhNHW/

我正试图让一个颜色块滑入一个小块内的现有内容后面。这很糟糕,我需要让它在同一页面上为多个实例工作。

感谢任何帮助。

3 个答案:

答案 0 :(得分:3)

使用mouseentermouseleave代替mouseovermouseout

当游标进入父div的另一个子元素时,会触发

mouseout

答案 1 :(得分:1)

这就是你想要的吗?

http://jsfiddle.net/UhNHW/20/

我基本上会检查.box2是否正在设置动画,如果是,只返回没有任何内容。

$(function() {
    $('.container').on('mouseenter', function() {
        var box = $(this).find('.box2');
        if(box.is(':animated')) return false;
        box.stop(true, true).animate({
            top: 0
        }, 150);
    });
    $('.container').on('mouseleave', function() {
        var box = $(this).find('.box2');
        if(box.is(':animated')) return false;
        box.stop(true, true).animate({
            top: 40
        }, 150);
    });
});​

答案 2 :(得分:0)

像这样使用鼠标

   $('.container')
       .mouseover(function (){
            $('.box2').stop(true, true).animate({top:0}, 150);
       })
       .mouseleave(function (){
            $('.box2').stop(true, true).animate({top:40}, 150);
       })
       ;

更多实例尝试此

  $('.container').each(function() {
      var c = $(this);
      var box = c.find('.box2');

      c.          
          mouseover(function (){
            box.stop(true, true).animate({top:0}, 150);
          })
          .mouseleave(function (){
            box.stop(true, true).animate({top:40}, 150);
          });
  });