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

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

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

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

Q&A

解決済

1回答

914閲覧

setIntervalをループさせたい

Izumo1101

総合スコア49

JavaScript

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

0グッド

0クリップ

投稿2020/10/05 11:45

編集2020/10/05 11:54

変数countを想定の最大数まで加算し、その後最小値に戻してループさせるにはどうしたらよいのでしょうか。

javascript

1//いろいろしている関数 2 function Count() { 3 var Nm = count; 4 $('#namaeNm').text(Nm); 5 $('#tb').empty(); 6 n=1; 7 socket.emit('setUserNameR', Nm); 8 console.log(Nm); 9 count++; 10 } 11 12 13  //本題 14 var id = setInterval(function(){ 15 Count(); 16 if(count > 22){  17 clearInterval(id); 18 }}, 5000);

countを22まで加算した後は1に戻して関数Countを5秒おきに実行したいのです。
よろしくお願いします。

補足します。
var count = 1;
は記述冒頭に置いています。書き忘れていました。

javascript

1  if(count > 22){  2 clearInterval(id); 3   count = 1; 4 Count(); 5 }}, 5000);

この後setIntervalに戻す方法が分かりません。

またnamaeNmは表記を変えるために書いていたものでNmを1→22→1→とループさせたいと思っています。

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

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

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

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

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

m.ts10806

2020/10/05 11:48

count はどこで定義されているのでしょう。 あとどこにも1に戻したところが見受けられませんが
yambejp

2020/10/05 11:52 編集

#tbはなにに使っていますか? #namaeNmに0→22で0に戻るでよいのでしょうか? clearIntevalすると終わっちゃいますが、0に戻るのですかそれととも終わるのですか?
m.ts10806

2020/10/05 11:58

>記述冒頭に置いています。書き忘れていました。 本文のコードを編集してください。
guest

回答1

0

ベストアンサー

javascript

1<script> 2var timerId; 3var count=1; 4window.addEventListener('DOMContentLoaded', ()=>{ 5 timerId=setInterval(()=>{ 6 document.querySelector('#namaeNm').textContent=count; 7 count++; 8 if(count>22) count=1; 9 },100); 10}); 11 12</script> 13<div id="namaeNm"></div>

投稿2020/10/05 11:55

編集2020/10/05 11:56
yambejp

総合スコア116724

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

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

Izumo1101

2020/10/05 13:10

そうか、単純にclearIntervalを使わなければいいだけなんですね。納得しました。 ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問