2014-10-04 89 views
0

我正在制作几个信息框,并将jQuery UI效果与fadeIn/fadeOut相结合。 问题是,如果您将邮箱快速退出,则邮件淡出未完成。 我使用了回调,但是它是我的mouseleave影响它还是?jQuery fadeOut在开始新效果之前等待效果完成

实施例:http://jsfiddle.net/6euyze8k/1/

jQuery(".holder").each(function (index, element) { 
    var infos = jQuery(this).find('.info,.socials'); 
    var docmail = jQuery(this).find('.email'); 

    jQuery(this).on({ 
     mouseenter: function() { 
      infos.show("clip", function() { 
       docmail.fadeIn(500); 
      }); 
     }, 
     mouseleave: function() { 
      docmail.fadeOut(500, function() { 
       infos.hide("clip"); 
      }); 
     } 
    }); 
}); 

任何帮助理解。

回答

0

我已经可与您的问题适合:

jQuery(".holder").each(function (index, element) { 
    var $el = jQuery(this); 
    var infos = $el.find('.info,.socials'); 
    var docmail = $el.find('.email'); 
    $el.data('endEnter', false); 
    $el.data('endLeave', true); 

    $el.on({ 
     mouseenter: function() { 
      if($el.data('endLeave')) { 
       infos.show("clip", function() { 
        docmail.fadeIn(500, function() { 
         $el.data('endEnter', true); 
         $el.data('endLeave', false); 
        }); 
       }); 
      } 

     }, 
     mouseleave: function() { 
      if($el.data('endEnter')) { 
       docmail.fadeOut(500, function() { 
        infos.hide("clip", function() { 
         $el.data('endLeave', true); 
         $el.data('endEnter', false); 
        }); 
       }); 
      } 

     } 
    }); 
}); 

的想法是不允许火灾事件,直到动画结束,但动画做了一些问题,如果你快速移动光标在&之外。

Anymway,看看这里:

小提琴:http://jsfiddle.net/benjasHu/Lchpon4x/

祝你好运!

+0

thnx但它有一个比我的更大的问题。如果徘徊到一切都停留在那里。 http://prntscr.com/4td8ee – Benn 2014-10-05 19:27:44

相关问题