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

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

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

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

Q&A

解決済

2回答

893閲覧

JQueryのeach内部でsetTimeoutがうまく動作しない

Anon_

総合スコア334

jQuery

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

0グッド

0クリップ

投稿2017/12/13 06:11

pathというクラスをeachで回し、1秒間隔でfill_blackというクラスを付与したいのですが、
下記コードでは思うように動作しません。
JSエラーなどはありませんが、一度にfill_blackが付与されてしまいます。

良い方法がないかご教示いただけますと助かります。

$('.path').each( function(i){ var path = $(this); setTimeout(function(){ path.addClass('fill_black'); }, 1000); });

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

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

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

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

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

guest

回答2

0

ベストアンサー

1000 * ++i とかすればいけませんか?

投稿2017/12/13 06:14

kei344

総合スコア69364

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

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

Anon_

2017/12/13 06:22

できました!! 迅速かつ適切なご指摘をありがとうございます!
x_x

2017/12/13 06:27

++は必要ですか?
kei344

2017/12/13 06:29

To: x_xさん 0から始まるので、最初の要素も1秒後かな、と思ってそうしました。
x_x

2017/12/13 06:57

なるほど。ありがとうございました
guest

0

参考までに

javascript

1$(function(){ 2 $('[type=button][value=test]').on('click',function(){ 3 $('.path').each( function(i){ 4 $(this).delay(1000*(i+1)).queue(function(){ 5 $(this).addClass('fill_black'); 6 }); 7 }); 8 }); 9}); 10

HTML

1<div class="path">1</div> 2<div class="path">2</div> 3<div class="path">3</div> 4<div class="path">4</div> 5<input type="button" value="test">

投稿2017/12/13 06:50

yambejp

総合スコア114572

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問