質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1027閲覧

JavaScript setIntervalを停止させる変数は動的に指定できないんでしょうか

Position-X

総合スコア2

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/06/08 19:46

編集2021/06/08 19:48

タイトルの通りです
ID=setInterval
のID部分を動的に指定して停止させたいのですが動的というのは不可能なんでしょうか
下記ソースを見て下さい
下記ソースだと二つとも動作が停止してしまいます
下記コードに沿った作りで別々に停止させる手法はございませんでしょうか?

<script> window.onload=function(){ for(i=0;i<2;i++){ const load_id='image'+i; const img=document.createElement("img"); img.id=load_id; img.style.width="40px"; img.style.height="40px"; img.src="https://freesvg.org/storage/img/thumb/Poppies.png"; img.addEventListener('click', function(){ clearInterval(load_id); }); img.addEventListener('load', function(){ const load_id=setInterval(function(){//この変数の指定では全て同じとなってしまうので別々に変えてたい console.log(load_id); },1000); }); document.body.appendChild(img); } } </script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

こんな感じでどうでしょう。
中にいれて反応するようです。

<script> window.onload=function(){ for(i=0;i<2;i++){ const load_id='image'+i; const img=document.createElement("img"); img.id=load_id; img.style.width="40px"; img.style.height="40px"; img.src="https://freesvg.org/storage/img/thumb/Poppies.png"; img.addEventListener('load', function(){ const load_id=setInterval(function(){//この変数の指定では全て同じとなってしまうので別々に変えてたい console.log(load_id); },1000); this.addEventListener('click',function(){ clearInterval(load_id); }) }); document.body.appendChild(img); } } </script>

投稿2021/06/08 20:19

gas.engine

総合スコア608

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

imgのload処理でやる必要はあるのでしょうか?

javascript

1window.addEventListener('DOMContentLoaded', ()=>{ 2 for(let i=0;i<2;i++){ 3 const img=Object.assign(document.createElement("img"),{ 4 id:"image"+i, 5 style:"width:40px;height:40px", 6 src:"https://freesvg.org/storage/img/thumb/Poppies.png", 7 }); 8 const load_id=setInterval(()=>{ 9 console.log(load_id); 10 },1000); 11 img.addEventListener('click',()=>{ 12 clearInterval(load_id); 13 }); 14 document.querySelector('body').appendChild(img); 15 } 16});

投稿2021/06/09 00:37

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問