ユーザーがWebページを下にスクロールして特定のポイントに到達したときに、スクロールバーの位置を変更することはできますか?たとえば、ページの途中まで到達すると、スクロールバーが自動的に一番上に戻ります。
73762 次
4 に答える
38
onscrollイベントを使用してスクロールバーの現在の位置のパーセンテージを計算でき、50%に達した場合、scrollTo関数を使用してスクロール位置をページの上部に設定できます。
window.onload = function () {
window.onscroll = function () {
var doc = document.body,
scrollPosition = doc.scrollTop,
pageSize = (doc.scrollHeight - doc.clientHeight),
percentageScrolled = Math.floor((scrollPosition / pageSize) * 100);
if (percentageScrolled >= 50){ // if the percentage is >= 50, scroll to top
window.scrollTo(0,0);
}
};
};
ここで私の例を確認できます。
于 2009-08-08T03:57:53.637 に答える
13
ええ、私はそれを数回見ました。JSコードは次のとおりです。
window.scrollBy(0,50)
50は、スクロールするピクセル数です。
于 2009-08-08T03:24:32.343 に答える
4
気になる3つのスクロール関数はwindow.scroll(x,y)
、、、、window.scrollBy(dx,dy)
ですwindow.scrollTo(x,y)
。
Davidが述べたように、自分がどこにいるかを知るためにスクロール位置が必要であり、window.onscroll
イベントを使用してこの計算を開始します。
于 2009-08-08T03:32:12.080 に答える
2
(window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop)は、ほぼすべてのブラウザーで現在のスクロール位置を提供するはずです。
于 2009-08-08T03:29:32.070 に答える