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

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

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

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

543閲覧

実装したjQueryのコードレビューをお願いします。

tkm0604

総合スコア555

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

1クリップ

投稿2023/03/26 02:29

以下のように、settimeout()を駆使して、コンテンツの表示が切り替わるプログラムを書きましたが、settimeout()がずらずら並ぶのでいいのか?という疑問があり、また自身も経験が浅いため、動くには動くが、これでいいのか?という自信がありません。

確認お願いします。

jQuery

1 function startTimer() { 2 time--; 3 if (time === 0) { 4 $('#timer').html(totalTime).css("color", "#83C596"); 5 clearInterval(interval); 6 setTimeout(function () { 7 $('#mission-window-loading').show(); 8 $('#mission-window-during').css("display","none"); 9 },1000); 10 11 setTimeout(function () { 12 $('#mission-window-loading').show(); 13 $('#mission-window-during').css("display","none"); 14 },1000); 15 16 setTimeout(function () { 17 $('#mission-window-achieve').show(); 18 $('#mission-window-loading').css("display","none"); 19 },5000); 20 21 setTimeout(function () { 22 $('#mission-window').removeClass('mission-window-fixed'); 23 },10000); 24 25 setTimeout(function () { 26 $('#mission-window-complete').removeClass('mission-window-fixed'); 27 },13000); 28 29 30 } else { 31 calc(); 32 } 33 34 } 35

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

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

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

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

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

m.ts10806

2023/03/26 03:00

html,cssも提示してください
guest

回答2

0

ベストアンサー

この程度でしたら、今のままでもよいのではないでしょうか。

  • もっと手順が増えるようなら、データドリブンにするとよいかもしれません。
  • また、async await を使うとすっきりと書くことができます。

js

1 function startTimer() { 2 time--; 3 if (time === 0) { 4 $('#timer').html(totalTime).css('color', '#83C596'); 5 clearInterval(interval); 6 doTimeline(); 7 } else { 8 calc(); 9 } 10 11function sleep(msec) { 12 return new Promise(resolve => setTimeout(resolve, msec)); 13} 14 15async function doTimeline() { 16 await sleep(1000); 17 $('#mission-window-loading').show(); 18 $('#mission-window-during').css('display', 'none'); 19 20 await sleep(4000); 21 $('#mission-window-achieve').show(); 22 $('#mission-window-loading').css('display', 'none'); 23 24 await sleep(5000); 25 $('#mission-window').removeClass('mission-window-fixed'); 26 27 await sleep(3000); 28 $('#mission-window-complete').removeClass('mission-window-fixed'); 29}

投稿2023/03/27 04:43

int32_t

総合スコア21929

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

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

tkm0604

2023/04/01 02:28

返信大変遅くなりました。 丁寧にありがとうございました。 やはりいろいろな書き方があるのですね。
guest

0

全体的に何をしたいのか伝わってきませんが、jQueryが前提なら遅延処理はdelayを利用するとよいでしょう

投稿2023/03/28 00:14

yambejp

総合スコア117678

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問