ホームページ  >  に質問  >  本文

javascript - setInterval が 1 回しか実行されないのはなぜですか?

jクエリ部分

リーリー

htmlセクション

リーリー

CSS部分

.bg2 デフォルト表示:なし;

親愛なる上司の皆様、私を軽蔑しないでください。ご回答ありがとうございました~

黄舟黄舟2643日前945

全員に返信(7)返信します

  • ringa_lee

    ringa_lee2017-06-30 09:57:19

    あなたを軽蔑するわけではありませんが、これは明らかに構文の問題です...実際、setIntervalは常に実行されると思いますが、関数の実行結果はdirect固定されており、ループの最終結果は2番目の画像が表示されることです。そして最初の写真は非表示になっているので、実装されていないように見えます。

    これを行うべきです:

    リーリー

    ここではタイマーの外側で状態を保存するためにクロージャーが使用されており、毎回ループダウンできるようになります。

    レンダリングに関する知識も追加します。この種の for ループでビューステートを変更する場合、ブラウザーはこれらのステートをキャッシュし、変更するとすぐにレンダリングするのではなく、適切なタイミングでレンダリングします。したがって、フラッシュすることさえ見えません。

    返事
    0
  • 学习ing

    学习ing2017-06-30 09:57:19

    ぜひ参考にしてください

    リーリー

    返事
    0
  • 習慣沉默

    習慣沉默2017-06-30 09:57:19

    setInterval(関数 direct(){

    リーリー

    返事
    0
  • 滿天的星座

    滿天的星座2017-06-30 09:57:19

    1回ループするとiの値は1になり、その後は1のままです。letを使ってみてください

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-30 09:57:19

    このエフェクトを1つずつ順番に表示しますか?

    リーリー

    返事
    0
  • 为情所困

    为情所困2017-06-30 09:57:19

    $(関数(){

    リーリー

    })

    返事
    0
  • 滿天的星座

    滿天的星座2017-06-30 09:57:19

    リーリー

    それが正しいかどうかは分かりませんが、これが問題だといつも感じています

    返事
    0
  • キャンセル返事