$(document).ready( function (){ var topMenu = $("#navmenu"), topMenuHeight = topMenu.outerHeight()+15, // All list items menuItems = topMenu.find("a"), // Anchors corresponding to menu items scrollItems = menuItems.map(function(){ var item = $($(this).attr("href")); if (item.length) { return item; } }); });
// Scroll Binding
$(window).scroll(function(){ // Get container scroll position var fromTop = $(this).scrollTop()+topMenuHeight; // Get id of current scroll item var cur = scrollItems.map(function(){ if ($(this).offset().top < fromTop) return this; }); // Get the id of the current element cur = cur[cur.length-1]; var id = cur && cur.length ? cur[0].id : ""; // Set/remove active class menuItems.parent().removeClass("active") .end().filter("[href=#"+id+"]").parent().addClass("active"); }); <header id="header"> <nav id="subnav" class="fluid"> <ul id="navmenu"> <li><a href="#section1" onClick="scrollToAnchor('section1');" title="成立背景">SECTION 1</a></li> <li><a href="#section2" onClick="scrollToAnchor('section2');" title="協會使命">SECTION 2</a></li> <li><a href="#section3" onClick="scrollToAnchor('section3');" title="營運模式">SECTION 3</a></li> <li><a href="#section4" onClick="scrollToAnchor('section4');" title="協會組織">SECTION 4</a></li> <li><a href="#section5" onClick="scrollToAnchor('section5');" title="活動及刊物">SECTION 5</a></li> </ul> </nav> </header>
and add this style
#navmenu li a .active { background-color: #294C52; color: #FFFFFF; }
source share