【jQuery】処理Aが完了してから処理Bを実行する方法

jQuery
jQuery

できそうで実はある「熟語」を使わないと難しい!

以下のようなjQueryのメソッドの連結記法(チェーンメソッド)を使えば一見簡単そうに思いますが、実は違います。

//メソッドA().メソッドB().メソッドC()・・・というように、連続して記述
$('#e').showl().delay(2000).fadeOut(400);

結論からいうと、以下で実装できます。

$.when(
    //処理A
).done(function(){
    //処理B
;});

例を挙げると、以下のような、ボタン内の文字が、ボタンを押したあと1秒間だけ表示が変わるようなときです。
(実際に押すと挙動がわかります)

mail@prytymworks.tokyo

これをチェーンメソッドでやろうとすると、ボタン内の文字の書き換えのjQueryがチェーンメソッド内に2つあるために、
最後に記述したほうの書き換え処理しか実行されません。
チェーンメソッドは連結記法ではありますが、記述した時系列順に処理を実行するものではないことに注意です。
記述した複数のメソッドが同時に実行されるイメージです。

それに対して、when()とdone()を組み合わせた上記の構文では、whenの引数に入れた処理が完了してからdoneの処理を実行します。

この「熟語」、実はそらで打とうとすると、かなり間違いやすいです。

この「熟語」、実はそらで打とうとすると、かなり間違いやすいです。

なぜかというと、

$.when(
    //処理A  ←ここではメソッドのあとに;が不要!
).done(function(){ //←なんと、done()ではfunction()でメソッドBを呼ぶ必要がある!
    //処理B
;  //←function()を使っているのでここではメソッドのあとに;が必要になっている!
});  //←もう、カッコを何個かいて;を打てばいいのかどうかもよくわかんないw(javascriptあるある)

なので、メモ帳アプリやこのブログをブックマークして、いつでも引っ張り出せるところに置いておくのがよいと思います。

今日聞いていた曲はこれどえーす♪

Sonic Species・・・Joe Markendaleのプロジェクト。2008年にU.K. レーベルAlchemy Recordsへアサインし、コンピレーションCDに収録された’Lost Transmission’ で瞬く間にその名を知らしめた。2019年Sun Shine Festivalのトリを飾ったElectric Universeがこれを流したとき、鳥肌が立った。

Webサイト制作を依頼したい方へ

PRYTHM WORKS(プリズムワークス)は、東京都墨田区、東京スカイツリーのふもとにあるWebコンテンツ制作事務所です。

華々しいおしゃれなECサイトをはじめ、アンダーグラウンドな案件まで幅広くご依頼をいただき、どんな案件でも真心・丁寧・楽しくを理念に掲げて制作しております!

作りたいサービスはあるけど、まずは費用感が知りたい!という方も、まずはお問い合わせください!

mail@prytymworks.tokyo

PRYTHM WORKSが手掛ける仕事の一部をご紹介します。

制作のご依頼者様用 費用かんたんお見積もりフォーム

おそらく本記事を読まれるのは、制作の現場の、法人またはフリーの、プロデューサーの方、ディレクターの方、エンジニアの方がほとんどかと存じます。
いつもおつかれさまです!そして本記事をお読みいただきありがとうございます。
紹介した記事の内容について、またはその他制作のご依頼について、以下のフォームより簡易お見積もりができます!
試算だけならフォーム送信しなくてもできますので、ぜひ試しにいかがでしょう?

お仕事をご希望の制作者様用 お問合せフォーム

また、まずはライトなご相談から…ということであれば、こちらのコンタクトフォームからお気軽にどうぞ!ご縁を大切にしてご返信いたします!

    ShopifyでのECサイト制作を行うならPRYTHMWORKS(プリズムワークス)へ

    ShopifyでのECサイト制作を外注しようとお考えの方は、PRYTHMWORKS(プリズムワークス)にご依頼ください。高品質なWebサイト制作で、お客様のビジネス成長を支援する会社です。Shopifyを使ったECサイト制作に力を入れており、売上向上に貢献するECサイト構築を代行いたします。豊富な経験と実績にもとづき、お客様のニーズに最適なECサイトを構築しますので、費用相場や制作事例など、気になることがございましたらお気軽にお問い合わせください。移行のご相談も承っております。

    事業内容EC/Webサイトの構築、管理保守
    代表社員吉川直人
    法人事務所所在地〒150-0001
    東京都渋谷区神宮前六丁目23番4号桑野ビル2階
    設立日2023年(令和5年)7月3日
    沿革2020年(令和2年)10月
    個人事業主PRYTHMWORKS事業開始
    2023年(令和5年)7月
    合同会社PRYTHMWORKS設立

    会社に関するご連絡は以下よりお願いいたします。

    mail@prytymworks.tokyo


    お問い合わせ用LINEはこちらからどうぞ!

    お問い合わせ用LINEはこちらからどうぞ!

    LINE
    タイトルとURLをコピーしました