0

やあ、スタック オーバーフロー クルー、

jquery を使用してカスタム ドロップ ダウン ナビゲーション システムを構築するときに、常に出てくる簡単な質問です。ドロップダウン メニューの理想的なシナリオは、親と子を

  • タグを付けることはできますが、サイトのデザインによってはこれが許可されないことがあります。

    プライマリ ナビゲーション アイテムを含む DIV と、子メニューを含む別の DIV があるとします。

    親をロールオーバーすると、子メニューが表示されますが、これらが別々の場合、ロールアウト状態はトリッキーになります。だから私はホバーをネストしてこれを回避しようとしましたが、ほとんどうまくいきました。

    $("div.primary-nav").mouseenter(function () {
    
        clearTimeout($(this).data('timeoutId'));
        $("div.doormat-nav-wrapper").slideDown("slow");
    
    }).mouseleave(function () {
    
        $("div.doormat-nav-wrapper").mouseenter(function () {
            clearTimeout($(this).data('timeoutId'));
            $("div.doormat-nav-wrapper").slideDown("slow");
        }).mouseleave(function () {
            var someelement = this;
            var timeoutId = setTimeout(function(){ 
            $("div.doormat-nav-wrapper").slideUp("slow");
            $(someelement).data('timeoutId', timeoutId); //set the timeoutId, allowing us to clear this trigger if the mouse comes back over
            });
        });     
    
    });
    

    論理的に私が達成しようとしているのは

    ユーザーが div.primary-nav をロールオーバーすると .... div.doormat-nav-wrapper が表示されます... プライマリ ナビゲーションをロールオフすると div.doormat-nav-wrapper が非表示になります div.doormat-nav-wrapper 自体がホバリングされています。

    フィードバックや提案をいただければ幸いです。ありがとう!

  • 4

    1 に答える 1

    0

    これは、以前に回答したのとまったく同じ種類のものだと思います。

    jQuery:マウスアウト時に開いたままにする必要があるdivの開いているサブメニューのマウスオーバー

    于 2011-09-15T17:52:26.853 に答える