簡體   English   中英

如果在jquery .slideDown()動畫結束之前未觸發Javascript偵聽器

[英]Javascript listener not firing if before end of jquery .slideDown() animation

我希望簡單!

我遇到的問題是我有一個('itemID')。mouseover,它會為菜單框觸發一個jquery下拉動畫。 問題是,如果鼠標在slideDown()胺化作用結束之前離開了原始項目(在這種情況下為文本鏈接),則不會調用.mouseleave函數。

否則效果很好!!

這就是即時通訊使用的內容:(menu14是文本鏈接,FunctionsMenu3是包含菜單項的隱藏div)

$('#menu14').mouseover(function() {
   $('#FunctionsMenu3').slideDown('fast', function() {
    // Animation complete.
  });
});

$('#FunctionsMenu3').mouseleave(function() {
   $('#FunctionsMenu3').slideUp('fast', function() {
    // Animation complete.
  });
});

在我看來,JS CANT被解雇了,因為它忙於做幻燈片...該網站可以在http://www.impero-classroom-management.com上看到,謝謝!!

好吧,我最后通過不動畫下拉菜單,只滑動了動畫來解決它。

不是解決辦法,但這是我真正能做的!

$('#FunctionsMenu5').mouseleave(function() {
   $('#FunctionsMenu5').slideUp('fast', function() {
    // Animation complete.
  });
});
$('#menu15').mouseover(function() {
   $('#FunctionsMenu5').show();
});

在mouseleave上,嘗試.stop()取消當前動畫。

$('#menu14').hover(
  function() {
   $('#FunctionsMenu3').slideDown('fast');
  },
  function() {
   $('#FunctionsMenu3').stop().slideUp('fast');
  }
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM