javascript(jQueryではなく)でgototopボタンを作成しようとしています。このボタンに遅延効果を持たせたい:
var timeOut;
function scrollToTop() {
if (document.body.scrollTop!=0 || document.documentElement.scrollTop!=0){
window.scrollBy(0,-50);
timeOut=setTimeout('scrollToTop()',10);
}
else clearTimeout(timeOut);
}
HTMLは単純です:
<div id="gototop"><a href="#header" onclick="scrollToTop();return false">Back to top</a></div>
スクロールの高さによってボタンの表示・非表示ができません。私が知る限り、次のようにすると、ページが 600 ピクセル下にスクロールされるまでボタンが非表示になりますが、これは機能しません。
var posit = window.scrollTop();
if (posit < 900) {
document.getElementById("gototop").style.display = 'none';
}
このスタイルが有効にならないのはなぜですか?
私が使用している完全なコードは次のとおりです。
var posit = window.scrollTop();
if (posit < 900) {
document.getElementById("gototop").style.display = 'none';
}
var timeOut;
function scrollToTop() {
if (document.body.scrollTop!=0 || document.documentElement.scrollTop!=0){
window.scrollBy(0,-50);
timeOut=setTimeout('scrollToTop()',10);
}
else clearTimeout(timeOut);
}
ご清聴ありがとうございました。