ここにフィドルがあります--- http://jsfiddle.net/mFrbA/2/
これは、以下のコードの単なるテストです。ゆっくりと着実にスクロールダウンしようとしています。ドキュメントの一番下までスクロールするという単純な方法で実行するだけではない理由は、ユーザーにキャンセルする機会を与えながら段階的に実行したいからです (したがって、scrolling
切り替え可能な変数外部関数によって。
変数の理由wait
は、(理論的には) while ループがアニメーションよりも速くループするのを防ぐためです。最初からやり直す前に、アニメーションが終了するのを待つかどうかはわかりませんでした。しかし、完全な関数が呼び出されることはなく、そもそもアニメーションが発生することもありません。
ただし、これは実行されていません。何が間違っているのかわかりません。
$(function() {
scrolling = true;
while (scrolling) {
var wait = true;
$('html, body').animate(
{ scrollTop: '+=50' },
{ duration: 800,
easing: 'linear',
complete: function(){
alert("hi again");
wait = false;}
}
);
while(wait) {
console.log("waiting");
}
}
});