- ベストアンサー
jQueryのfadeInメソッドのSpeedを調整する方法
- jQueryのfadeInメソッドを使用して要素を時間差でフェードインさせる方法について学んでいます。
- フェードインの間隔を調整するために、fadeInメソッドのSpeedを変更してみましたが、等間隔でフェードインされてしまいます。
- また、同時にフェードインさせる場合も指定したSpeedが反映されません。見落としや間違いがあるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ああ、気が付かなかった、そもそもこのサンプル公開してる人がそんなスキルないのか、サンプルにゴミが沢山のこってるし、 引数に渡す型が間違ってるんだよ。 stringじゃなくてnumberでわたさないとだめだよ。これ。 ダブルクォーテーションで数字はさまないで指定してごらん
その他の回答 (1)
- mohumohu23
- ベストアンサー率37% (438/1176)
その書き方じゃ構文エラーになるから、ちゃんと最後まで自分のコード書いてください。 早い話がそれでやってるのはフェードが終了後コールバックによって次のフェードアクションを起こしているだけです。 間隔の調整とは、そのフェード時間を言ってるんであれば、それで問題ないはずですが、フェード終了後時間を置いて次のフェードをさせたいなら、setTimeoutなりのコードを追加する必要があります。
お礼
mohumohu23さん、回答をありがとうございます! そして、質問の仕方が悪く、大変申し訳ありません! フェードの間隔ではなく、フェード時間に差が出ない、 という質問でした。 上にコードを改めて追記させていただきました。
補足
質問の仕方を間違えましたので、 以下で改めて書かせていただきます。 すみません! ■jquery <script type="text/javascript"> $(function() { $("#fade li:nth-child(1)").fadeIn("1000"); $("#fade li:nth-child(2)").fadeIn("10000"); }); </script> ■CSS <style type="text/css"> #fade li { display:none;} </style> ■HTML <ul id="fade"> <li>テスト1</li> <li>テスト2</li> </ul> このように記述した場合、 "テスト1"、"テスト2"は同時にフェードインを開始し、 "テスト1"が1秒後にフェードイン終了、 "テスト2"は10秒後にフェードイン終了するものだと思っていたのですが、 同じスピードでフェードインしているようにしか見えません。 フェードのスピードに差がないのはなぜなのでしょうか? よろしくお願いします。
お礼
mohumohu23さん、お礼がとんでもなく 遅くなってしまい、大変失礼いたしました! てっきりお返ししたつもりでおりました・・・。 教えていただいたとおりにすることで、 無事思うとおりに動かすことができました。 (今でもその感動はハッキリ覚えています・・・) どうもありがとうございました!