jQueryを使用して、垂直方向にスムーズにスクロールするWebサイトを作成しようとしています。この JavaScript とこのチュートリアルSmooth Scrolling Websiteを使用してサイトを作成しています。
しかし、固定ヘッダーに問題があります。スクロールは正常に機能しますが、固定ヘッダーの下だけでなく、ページの上部に配置されているdiv
ため、関連するヘッダーの半分に表示されます。div
scrollTop にオフセットを追加しようとしましたが、すべての地獄がページ上で壊れたり、固定ヘッダーの上に表示されたりします。実際にはページのマッシュアップです。誰かが光を当てることができれば、それは大歓迎です。
$(function() {
$('ul.menu a').bind('click',function(event){
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 1500,'easeInOutExpo');
/*
if you don't want to use the easing effects:
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 1000);
*/
event.preventDefault();
});
});
StackOverflow ( + $('.fixedheader').outerHeight()
) でこのコードを見つけ、コードに追加しました ( の後scrollTop: $($anchor.attr('href')).offset().top
) 動作しますが、逆の効果があるようです。理由を知っている人はいますか?