0

http://jsfiddle.net/UhNHW/

我试图让一个色块滑入一个小块内的现有内容后面。它有问题,我需要让它在同一页面上的多个实例上工作。

任何帮助表示赞赏。

4

3 回答 3

3

使用mouseenterandmouseleave代替mouseoverand mouseout

mouseout当光标进入父 div 的另一个子元素时触发。

于 2012-04-04T09:39:48.130 回答
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);
    });
});​
于 2012-04-04T09:43:04.963 回答
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);
          });
  });
于 2012-04-04T09:42:10.623 回答