Hier 2 Snippets aus meinem Fundus.
Anchornav:
PHP-Code:
anchornav.find('a').on('click', function(ev) {
ev.preventDefault();
$('html, body').animate({
scrollTop: $($(this).prop('hash')).offset().top - $('header').outerHeight() - 30
}, 400);
});
Das hier von j_accordion-extended.html5:
PHP-Code:
...
activate: function(event, ui) {
...
/** Scroll active accordion to top */
if(ui.newHeader.length > 0) {
var
previousTogglerHeight = ui.newHeader.closest('.ce_accordion').prev('.ce_accordion').find('.toggler').outerHeight() || 0,
previousAccordionMarginBottom = parseInt(ui.newHeader.closest('.ce_accordion').prev('.ce_accordion').css('margin-bottom')) || 0
;
if(previousTogglerHeight)
{
$('html, body').animate({scrollTop: ui.newHeader.offset().top - previousTogglerHeight - previousAccordionMarginBottom - 5}, 300);
}
}
/** Scroll active accordion to top - END */
}
...
Vielleicht kannst du dir da was abschauen. In der Konsole auch immer nach JS-Fehlern Ausschau halten.
Das hier ist bestimmt falsch.
PHP-Code:
$(hash).offset().top
console.log(hash);
Ich glaube in hash ist die Raute "#" nicht mit drin.
Lesezeichen