0

80 ミリ秒ごとにランダムな「固定」位置に DIV を作成する小さなコードを作成しました。この div は約 2 秒間表示され、その後 (生成されたコードを含めて) 削除されます。ただし、これが発生しているページの一部を離れる場合 (スクロールを使用); 発電機を止めてほしい。

また、ユーザーがスクロールを使用するたびにコードを実行するのを避けるために (スクロールのためにジェネレーターが重複します)、true/false ステートメントを使用するのが最も便利だと思いました。

if (focuson = true){window.setInterval(function(){$(generator);}, 80);}

$(window).scroll(function(){
if  ($(window).scrollTop() > resolutieh){
    var focuson = false;
    window.clearInterval(generator); generator = 0;
    }
else{
    var focuson = true;
}
});

上記のコードは実際には機能しますが、視覚的な不具合が発生します。最後に生成された DIV が削除されたとき: その時点での画面のすべての部分、つまり div コンテンツで「埋められていない」部分は、大きな白いチャンク (基本的には x/y の繰り返しの「背景画像」) で埋められます。また、ジェネレーターがアクティブな場所までスクロールしても、再びアクティブ化されることはありません。

次のコードは、私にはより論理的に思えます (ただし、機能しません)。

if (focuson = true){window.setInterval(function(){$(generator);}, 80);}
if (focuson = false){window.clearInterval(function(){$(generator);}, 0);}

$(window).scroll(function(){
if  ($(window).scrollTop() > resolutieh){
    var focuson = false;;
    }
else{
    var focuson = true;
}
});

基本的に、ジェネレーターを「適切に」停止するか、タイマーを非常に低く設定して計算にかかる時間を短縮することにより、視覚的な不具合を回避したいと考えています。クールなボーナスは、ジェネレーターが生成されているページの部分に戻ると、再びオンになることです.

助言がありますか?

敬具。

4

0 に答える 0