この関数の動作方法:
1)ユーザーがID「surf」のボタンをクリックすると、アニメーションが始まります
2)この関数は、クラス「threadboard」のdivの最初のインスタンスを見つけ、そこで1.5秒間一時停止してから、クラス「threadboard」のdivの次のインスタンスまでスムーズにスクロールダウンし、そこで1.5秒間一時停止してから、スムーズにスクロールします。次など
3)関数は、クラス「threadboard」を持つdivのすべてのインスタンスを介してこれを実行し、終了する必要があります
私はjQueryをメソッド、、で使用しようとしていますscrollTop()
が、each()
これまでのところ、さまざまな成功を収めています。これが私がこれまでに持っているものです(編集:動作しているが不完全なコードを含めるため):animate()
setTimeout()
var currentIndex = 0;
var numDivs = 18;
$(window).load(function() {
$('#surf').click(
function(){start();}
);
});
function start() {
//if (numDivs > 0) {
var winY = window.screenY;
$("body").animate({ scrollTop: 225 * currentIndex}, 1100);
//
currentIndex = (currentIndex + 1) % numDivs;
setTimeout(start, 3000);
//}
}
今のところ、各インスタンスが特定のピクセル数離れており、インスタンス数がハードコーディングされていると推定して、海賊盤方式を使用していることに気付きました。これは理想的ではありません。この関数を書くための最良の方法は何ですか?コードはhttp://cornellhub.com/board/で実装されます