1

ショッピング バッグ (#bagContainer) で hoverIntent を使用していますが、すべて問題なく動作します。

function bagOver(){
    $(this).find("#bagContainer").stop().fadeTo('fast', 1).show(); 
}
function bagOut(){
  $(this).find("#bagContainer").stop().fadeTo('fast', 0, function() {
      $(this).hide();
  });
}
var bagHoverConfig = {
     over: bagOver,
     bagTimeout: 3000, 
     out: bagOut 
};
$("#userBox .row:nth-child(2)").hoverIntent(bagHoverConfig);

しかし、次のような「追加の」閉じるボタン (#bagCollapser) をバッグ内に追加する必要があります。

$("#bagCollapser").click(function () {
    $('#bagContainer').hide();
});

#bagContainer を閉じますが、hoverIntent と競合しているようです:

  1. ボタンはバッグを非表示にしますが、その後、 bagTimeout の後、 hoverIntent はバッグを再び非表示にします
  2. バッグがボタンで閉じられた場合、hoverIntent のタイムアウト/遅延が経過するまで再び表示することはできません...

何か案は?

よろしくお願いします!

4

1 に答える 1

0

私は同じ問題を抱えています.hoverIntentを使用してメガメニューを表示しています。このメガメニュー内に閉じるボタンを作成しました:

$("#closebutton").click(function () {
  $('#megasubmenu').hide();
  $('#megasubmenu').closest('li.level0').find('a.level0').removeClass("megahover");
});

閉じるボタンはサブメニューを閉じますが、マウスを動かすとすぐにサブメニューが再表示されるため、 hoverIntent 関数はまだ実行されています...

于 2017-03-21T15:08:47.927 に答える