効果: もの: まず、スクロール バーを制御するために onscroll をロードします。次に、モーションをバッファリングする方法を記述します。モーションをバッファリングする方法は、まず DIV バッファーの速度を計算し、それを切り上げてから、モーションを実行して終了点に到達するタイミングを決定します。最後にそのパラメータが返されます。次に、オンスクロールでこのメソッドを呼び出し、エンドポイントを計算してこのメソッドのパラメータに割り当てます。 コード: コードをコピー コードは次のとおりです: 高さ: 200 px; 背景: #0000FF; 位置: 絶対; 右: 0; 下: 0; } < ;/style> <br> type="text/javascript"> // 移動高さを取得します<br> // oDiv.style. top = (document.documentElement.clientHeight - oDiv.offsetHeight)/2 DivScroll 'px';<br> move(parseIn t((document.documentElement.clientHeight - oDiv.offsetHeight) / 2 DivScroll)); //パラメータを呼び出します。 、内部のパラメータは DIV のエンドポイントです。つまり、(視覚的な高さ - DIV 高さ)/2 移動高さ <br> };<br> <br> var timer = null;<br> function move(end) {<br> clearInterval(timer); //まず、前にオンにした setInterval を閉じます。<br> timer = setInterval(function () { <br> var oDiv = document.getElementById('div1');<br> var 速度 = (end - oDiv.offsetTop) / 5; スケーリング係数 速度 = 速度 > 0 ? ) : Math.floor(speed); //小数点以下を避けるために四捨五入します <p> if (oDiv.offsetTop == end ) { //DIV が終了点に達したら、閉じます setInterval;<br> clearInterval(timer) ;<br> }<br> else {<br> else oDiv.style.top = oDiv.offset最高速度 'px'; //div を移動<br> }<br> }, 30);<br> }<br> } < /div>