これは私がすでに持っているコードです:
$(document).ready(function()
{
/*Scrolls to whichever element is clicked if is has .scrollPage class */
$('.scrollPage').click(function() {
var elementClicked = $(this).attr("href");
var destination = $(elementClicked).offset().top;
$("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination-0}, 500 );
return false;
});
$('#backToTop').hide();
$('#sideNav').hide();
var headerHeight = $('#header').height();
/* Detect when page is scrolled */
$(document).scroll(function(){
var scrolledpx = parseInt($(document).scrollTop());
if (scrolledpx > headerHeight) {
$("#backToTop").fadeIn(500);
$("#sideNav").fadeIn(500);
}
else if (scrolledpx < headerHeight) {
$("#backToTop").fadeOut(500);
$("#sideNav").fadeOut(500);
}
});
});
#backToTopに対応するHTMLは次のとおりです。
<div id="backToTop">
Top
</div>
そしてCSS:
.backToTop {
position: fixed;
top: 10px;
left: 10px;
}
問題は、ヘッダーの下をスクロールすると#backToTopが表示されないことですが、リンクをクリックして特定のセクションにスクロールすると(正常に機能します)、#backToTop用のスペースが残っているようです(つまり、シフトするだけです)。ページを1行下に移動します)が、表示されません。私は何が間違っているのですか?