Du hast Recht. Hatte das gestern noch mit css gelöst bekommen. Es handelt sich um folgende Seite: http://kaster-miniaturen.marco-kroener.de.
Ein Problem habe ich hier noch. Vielleicht weiß hierzu auch jemand Rat. Beim Navigieren springt die Der Fokus nicht gleichermaßen in gescrolltem (Header wird niedriger) und ungescrolltem Zustand. In gescrolltem Zustand passt es, in ungescrolltem Zustand springt man zu weit.
Folgenden Code habe ich genutzt:
Code:
<script>
var lastId,
topMenu = $(".navbar"),
topMenuHeight = topMenu.outerHeight()+40,
menuItems = topMenu.find("a"),
scrollItems = menuItems.map(function(){
var item = $($(this).attr("href"));
if (item.length) { return item; }
});
menuItems.click(function(e){
var href = $(this).attr("href"),
offsetTop = href === "#" ? 1 : $(href).offset().top-topMenuHeight+1;
$('html, body').stop().animate({
scrollTop: offsetTop
}, '1500' , 'swing');
e.preventDefault();
});
$(window).scroll(function(){
var fromTop = $(this).scrollTop()+topMenuHeight;
var cur = scrollItems.map(function(){
if ($(this).offset().top < fromTop)
return this;
});
cur = cur[cur.length-1];
var id = cur && cur.length ? cur[0].id : "";
if (lastId !== id) {
lastId = id;
menuItems
.parent().removeClass("active")
.end().filter("[href=#"+id+"]").parent().addClass("active");
}
});
</script>
<script>$(window).scroll(function() {
if ($(this).scrollTop() > 1){
$('#header').addClass("sticky");
}
else{
$('#header').removeClass("sticky");
}
});
</script>
Lesezeichen