ホームページ > 記事 > ウェブフロントエンド > JavaScript ループ一時停止上下スクロール _javascript スキル
extractNodes 関数は、各ブラウザのノード計算問題を解決します。 FireFox は改行をノードとしてカウントしますが、これは非常に不合理です。
まず、appendChild を使用して最初の 4 つのノードを下にコピーし、後で使用できるように先頭と末尾が同じ内容になるようにします。フラッシュ トゥイーン ループ モーションを実行するときは、頭と尾が同じである必要があることに注意してください。
setInterval を介して、rolltxt 関数を一定の間隔で実行します。
rolltxt 関数は、最初に一時停止間隔の高さを計算します。スクロールの高さに関係なく、一時停止が発生します。これは CSS と関係があります。
このメソッドは、設定された間隔の高さを超えたかどうかを判断するために使用されます。余りが 0 に等しくない場合は、1 を加えてロールを続けます。残りが 0 の場合は、設定された間隔の高さまでスクロールされたため、ここで停止する必要があることを意味します。
時間を計算するために変数 settime を設定します。50 に加算されると、settime はクリアされ、スクロールが続きます。この 50 の単位は計算していません。とにかく、これで満足です。
スクロールを停止するにはこれでほぼ十分ですが、最大値に制限がないため、スクロールを続けると、当然問題が発生します。どこに行ってやり直したらいいでしょうか?もちろん、尻尾が頭と同じ位置にある場合、Web ページの高さから目に見える高さを引いた値が正しいのですが、なぜこのように計算されるのでしょうか。これは自分でわかるでしょう。
ループが一時停止して上下にスクロールします。信じられない場合は、試してみてください。