0

チェイサーメニューを作成しようとしています(ウィンドウが下にスクロールすると表示されます)。

このコードを入手して、コピーして自分のサイトに貼り付けてみました。

$(function ($) {
//////////////////////////////////////////////////////////////////////////
////// START - CODE FOR LOADING THE TOP MENU CHASING BAR
//////////////////////////////////////////////////////////////////////////

    var doc = $(document), win = $(window), chaser, forch,
        forchBottom, visible;
    function shown() {
        visible = true;
    }
    function hidden() {
        visible = false;
    }
    chaser = $('.rt-menubar.fusionmenu').clone().hide().appendTo(document.body).wrap("<div class='chaser'></div>");
    forch = $('.forchaser').first();
    forchBottom = forch.height() + forch.offset().top;
    hidden();
    win.bind('scroll', function () {
        var top = doc.scrollTop();
        if (!visible && top > forchBottom) {
            chaser.slideDown(300, shown);
        } else if (visible && top < forchBottom) {
            chaser.slideUp(200, hidden);
        }
    });
});

これが私が得たものの結果です:

<div class="rt-menubar fusionmenu" style="display: none;">
//code of list menu
</div>

問題は、ウィンドウのスクロールバーをどのようにスクロールしても、常に「display:block」ではなく「display:none」に設定されていることです。だからそれは常に隠されています。

チェイサー変数コードのhide()関数を少し削除すると、次のようになります。

chaser = $('.rt-menubar.fusionmenu').clone().appendTo(document.body).wrap("<div class='chaser'></div>");

チェイサーメニューが表示され、正常に機能します。しかし、それは私が望むものではありません。チェイサーメニューをページの上部に非表示にして、ウィンドウを下にスクロールすると表示されるようにします。

これを修正する方法は?

助けてくれてありがとう!

4

1 に答える 1

0

答えが見つかりました!

私は置くのを忘れます:

<div class="forchaser"></div>

本体部分のどこか。チェイサーメニューが表示される開始点としてマークを付けることです。

于 2012-12-14T18:01:44.137 に答える