2

ドロップダウン メニューに問題があります。スクリプトは次のとおりです。

function topNav() {
  $('.parent').mouseenter(function() {
    $(this).children('ul').stop().slideDown('fast');  
  });    
  $('.parent').mouseleave(function() {
    $(this).children('ul').stop().slideUp('fast');
  });
}

うまく動作しますが、メニューが完全にドロップダウンしないようにマウスを十分に速く動かすと、メニューの高さが増加します。なぜそれが起こるのか、そのような問題を解決する方法がわかりません。助言がありますか?

ありがとうございました。

4

3 に答える 3

0

これはすべてのマウスオーバーで発生し、UX は常にマウスオーバーを使用することを嫌います.とにかく、それでも使用したい場合は、Throttling と呼ばれるテクニックが役立ちます。プラグインもスロットリングを実装します。実際に行うことは、特定の時間に一度だけ mousedown イベントを実行することです。 http://benalman.com/projects/jquery-throttle-debounce-plugin/

したがって、ユーザーがマウスを何度も速く動かしても、複数回実行されることはありません..

于 2013-09-02T10:19:54.353 に答える
0
$('.parent').mouseenter(function() {
   $(this).parent().find("ul").slideDown('fast').show();
});
$('.parent').mouseleave(function() {
  $(this).parent().find("ul").slideUp('fast').hide();
});

これはうまくいくはずです...

于 2013-09-02T09:12:03.993 に答える