js .active
This commit is contained in:
@@ -1,8 +1,44 @@
|
||||
function left() {
|
||||
$('#start > div:nth-of-type(4) .red').prependTo( ".content" );
|
||||
function activenav() {
|
||||
// Cache selectors
|
||||
var lastId,
|
||||
topMenu = $(".navigation"),
|
||||
topMenuHeight = topMenu.outerHeight()+500,
|
||||
// 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; }
|
||||
});
|
||||
|
||||
// Bind click handler to menu items
|
||||
// so we can get a fancy scroll animation
|
||||
|
||||
|
||||
// Bind to scroll
|
||||
$(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 : "";
|
||||
|
||||
if (lastId !== id) {
|
||||
lastId = id;
|
||||
// Set/remove active class
|
||||
menuItems
|
||||
.parent().removeClass("active")
|
||||
.end().filter("[href='#"+id+"']").parent().addClass("active");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
jQuery(document).ready(function($) {
|
||||
// left();
|
||||
activenav();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user