clearInterval()関数が機能していません。理由がわかりません。

Kev

clearInterval()関数が機能しない理由を理解しようとしました何度も修正を試みた後、StackOverflowで専門家のアドバイスを求めます。

また、として機能する代わりに、clearInterval()「停止」ボタンを押すと実際に速度が上がります。なんで…?

TLDR: ランダムに色が変わる複数の<div>正方形を作成しましたインターバル機能を使用して、色の変化の速度を設定しました。ただし、機能を停止しても機能せず、速度が上がります。

<!DOCTYPE html>
<html>

<head>

  <style>
    .squre {
      display: inline-block;
      width: 30px;
      height: 30px;
      border: 1px black solid;
    }
    
    button:hover {
      cursor: pointer;
    }
  </style>

</head>

<body>

  <div id='wrapper'>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
  </div>

  <button onclick='interval()'>Change Color!</button>
  <button onclick='stopChange()' id='stop'>Stop This!</button>

  <script>
    function interval() {
      const mv = setInterval(colorChange, 100);
    }

    function stopChange() {
      clearInterval(mv);
    }

    function colorChange() {
      var cc = document.getElementsByClassName('squre');
      var ccStop = document.querySelector('#stop');
      var i;

      for (i = 0; i < 10; i++) {
        x = Math.floor(Math.random() * 11);
        if (x == 1) {
          cc[i].style.backgroundColor = 'red';
        } else if (x == 1) {
          cc[i].style.backgroundColor = 'orange';
        } else if (x == 2) {
          cc[i].style.backgroundColor = 'yellow';
        } else if (x == 3) {
          cc[i].style.backgroundColor = 'green';
        } else if (x == 4) {
          cc[i].style.backgroundColor = 'blue';
        } else if (x == 5) {
          cc[i].style.backgroundColor = 'purple';
        } else if (x == 6) {
          cc[i].style.backgroundColor = 'grey';
        } else if (x == 7) {
          cc[i].style.backgroundColor = 'black';
        } else if (x == 8) {
          cc[i].style.backgroundColor = 'green';
        } else if (x == 9) {
          cc[i].style.backgroundColor = 'white';
        } else if (x == 10) {
          cc[i].style.backgroundColor = 'brown';
        } else if (x == 0) {
          cc[i].style.backgroundColor = 'lightblue';
        } else {
          alert('error');
          break;
        }
      }
    }
  </script>
</body>

</html>

Rkv88-カニヤン

まず、関数の外部でmvを宣言して、他の関数がアクセスできるようにする必要があります。これをconstに設定します。 var mv;

<!DOCTYPE html>
<html>

<head>

  <style>
    .squre {
      display: inline-block;
      width: 30px;
      height: 30px;
      border: 1px black solid;
    }
    
    button:hover {
      cursor: pointer;
    }
  </style>

</head>

<body>

  <div id='wrapper'>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
    <div class='squre'></div>
  </div>

  <button onclick='interval()'>Change Color!</button>
  <button onclick='stopChange()' id='stop'>Stop This!</button>

  <script>
    var mv;

    function interval() {
      mv = setInterval(colorChange, 100);
    }

    function stopChange() {
      clearInterval(mv);
    }

    function colorChange() {
      var cc = document.getElementsByClassName('squre');
      var ccStop = document.querySelector('#stop');
      var i;

      for (i = 0; i < 10; i++) {
        x = Math.floor(Math.random() * 11);
        if (x == 1) {
          cc[i].style.backgroundColor = 'red';
        } else if (x == 1) {
          cc[i].style.backgroundColor = 'orange';
        } else if (x == 2) {
          cc[i].style.backgroundColor = 'yellow';
        } else if (x == 3) {
          cc[i].style.backgroundColor = 'green';
        } else if (x == 4) {
          cc[i].style.backgroundColor = 'blue';
        } else if (x == 5) {
          cc[i].style.backgroundColor = 'purple';
        } else if (x == 6) {
          cc[i].style.backgroundColor = 'grey';
        } else if (x == 7) {
          cc[i].style.backgroundColor = 'black';
        } else if (x == 8) {
          cc[i].style.backgroundColor = 'green';
        } else if (x == 9) {
          cc[i].style.backgroundColor = 'white';
        } else if (x == 10) {
          cc[i].style.backgroundColor = 'brown';
        } else if (x == 0) {
          cc[i].style.backgroundColor = 'lightblue';
        } else {
          alert('error');
          break;
        }
      }
    }
  </script>
</body>

</html>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

clearInterval()が機能せず、理由がわかりません

分類Dev

ClearInterval()が機能しない理由は誰にもわかりませんか?

分類Dev

.find関数が機能しない理由がわかりません

分類Dev

charindexが機能しない理由がわかりません

分類Dev

BootstrapScrollspyが機能しない理由がわかりません

分類Dev

backgroundImageが機能しない理由がわかりません

分類Dev

計算が機能しない理由がわかりません

分類Dev

ループ関数がここで機能しない理由がわかりません

分類Dev

このdo-whileループが機能していませんが、理由がわかりません

分類Dev

コード行が機能していません。理由がわかりませんか?

分類Dev

Zインデックスが機能していません。理由がわかりません。

分類Dev

素数関数が壊れていますが、理由がわかりません

分類Dev

Rのwhich()関数が何らかの理由で機能していません

分類Dev

このアレイが機能しない理由がわかりませんか?

分類Dev

SKAction.moveByが機能しておらず、理由がわかりません

分類Dev

forループが機能しない理由がわかりません

分類Dev

この@selectorが機能しない理由がわかりません

分類Dev

ループが機能しない理由がわかりません

分類Dev

JSプラグインが機能しない理由がわかりません

分類Dev

このクエリが機能しない理由がわかりません

分類Dev

ここでreplace()が機能しない理由がわかりません

分類Dev

「if」コマンドが正常に機能しない理由がわかりません

分類Dev

Athena(Presto)SQLクエリが機能しない理由がわかりません

分類Dev

JavaScriptが機能しない理由がわかりません...タグに値を動的に渡しています

分類Dev

関数内の関数が機能していませんか?

分類Dev

Javascript-配列を使用してHTMLコンテンツの順序を変更しようとしているCodepen関数は機能していますが、あまりよくありません理由がわかりません

分類Dev

Hibernate Validatorは機能しませんが、理由はわかりません

分類Dev

gridsearchCVが機能せず、理由がわかりません

分類Dev

このjavaコードが機能しない理由はわかりません

Related 関連記事

  1. 1

    clearInterval()が機能せず、理由がわかりません

  2. 2

    ClearInterval()が機能しない理由は誰にもわかりませんか?

  3. 3

    .find関数が機能しない理由がわかりません

  4. 4

    charindexが機能しない理由がわかりません

  5. 5

    BootstrapScrollspyが機能しない理由がわかりません

  6. 6

    backgroundImageが機能しない理由がわかりません

  7. 7

    計算が機能しない理由がわかりません

  8. 8

    ループ関数がここで機能しない理由がわかりません

  9. 9

    このdo-whileループが機能していませんが、理由がわかりません

  10. 10

    コード行が機能していません。理由がわかりませんか?

  11. 11

    Zインデックスが機能していません。理由がわかりません。

  12. 12

    素数関数が壊れていますが、理由がわかりません

  13. 13

    Rのwhich()関数が何らかの理由で機能していません

  14. 14

    このアレイが機能しない理由がわかりませんか?

  15. 15

    SKAction.moveByが機能しておらず、理由がわかりません

  16. 16

    forループが機能しない理由がわかりません

  17. 17

    この@selectorが機能しない理由がわかりません

  18. 18

    ループが機能しない理由がわかりません

  19. 19

    JSプラグインが機能しない理由がわかりません

  20. 20

    このクエリが機能しない理由がわかりません

  21. 21

    ここでreplace()が機能しない理由がわかりません

  22. 22

    「if」コマンドが正常に機能しない理由がわかりません

  23. 23

    Athena(Presto)SQLクエリが機能しない理由がわかりません

  24. 24

    JavaScriptが機能しない理由がわかりません...タグに値を動的に渡しています

  25. 25

    関数内の関数が機能していませんか?

  26. 26

    Javascript-配列を使用してHTMLコンテンツの順序を変更しようとしているCodepen関数は機能していますが、あまりよくありません理由がわかりません

  27. 27

    Hibernate Validatorは機能しませんが、理由はわかりません

  28. 28

    gridsearchCVが機能せず、理由がわかりません

  29. 29

    このjavaコードが機能しない理由はわかりません

ホットタグ

アーカイブ