2012-12-14 23 views
0

我試圖使追蹤器菜單(當窗口向下滾動時顯示)。Javascript中的追蹤器菜單不會顯示滾動時始終隱藏

我得到了這段代碼,並嘗試複製粘貼到我的網站。

$(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> 

問題是,無論我怎麼滾動窗口滾動條,它總是設置:「:塊顯示」而不是「顯示無」。所以它總是隱藏的。

如果我消除,追加的可變代碼隱藏()函數一點點:

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

時跟蹤菜單顯示和工作正常。但是,這不是我想要的。我想追蹤器菜單隱藏在頁面頂部,並顯示當我向下滾動窗口。

如何解決這個問題?

感謝您的幫助!

回答

0

找到答案!

我忘了把:

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

某處主體區域。這是一個標記作爲你追蹤器菜單顯示的起點。