我創建了一個漂亮的小javascript菜單,它故意不使用數據標籤,因爲我發佈了與html純化器衝突(另一個長篇故事)。Javascript菜單 - 滾動/內容跳轉
無論如何,經過大量修補後,功能和樣式完全按照我的意願工作,但有一個例外 - 當我點擊每個菜單項時,它會在屏幕上的不同點打開內容,看似取決於數量的內容。我希望它始終在頂部打開,以便始終可以看到菜單以及內容的頂部,然後可以隨意向下滾動。
我一直在試圖解決這一段時間,所以將不勝感激任何援助,或修改附帶的小提琴。
預先感謝
保羅
https://jsfiddle.net/awcguxs5/
$(document).ready(function() {
var lastItem = null;
$('#listingmenu').on('click', 'a', function() {
newItem = this.getAttribute('href').substring(1);
if (newItem != lastItem) {
$('.current').not($(this).closest('li').addClass('current')).removeClass('current');
// fade out all open subcontents
$('.pbox:visible').hide(600);
// fade in new selected subcontent
$('#' + newItem).show(600);
lastItem = newItem;
}
}).find('a:first').click();
});
感謝您的評論,這很好。我正在尋找在我的頁面上有這些菜單中的兩個,但是當我這樣做時,它不會打開第二個菜單上的第一個菜單項(如果有意義的話)。相反,它會打開菜單1中的第一項,但會將菜單2中的所有內容都關閉?我確定每個菜單項都有不同的div編號,並且這些類都是唯一的以避免衝突,但它似乎沒有幫助。它只是堆疊菜單,並在一個菜單中打開第一個項目? – Paul
如果您複製/粘貼了我的所有代碼,那麼該行爲應該是因爲我在隱藏時刪除了該項目的ID,所以我的代碼隱藏了所有框:$('。pbox')。hide(600); – Sergeon