JavaScriptで画像クリックにより発動される処理を実装する方法を現役エンジニアが解説【初心者向け】
初心者向けにJavaScriptで画像クリックにより発動される処理を実装する方法について現役エンジニアが解説しています。画像をクリックした時にイベント処理を発動させるには、Clickイベントを使います。今回は画像をクリックすると新しいウィンドウで拡大画像を表示するプログラムを解説します。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
この記事を書いた人
テックアカデミーマガジン編集部
Web制作をしていると、画像クリックをきっかけに動きを作りたいことがありますね。
ページ遷移したり、画像を大きくしたり、動きがあるとWebページがさらに魅力的になります。
JavaScriptで画像クリックにより発動される処理を実装する方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
やり方がわからない、JavaScriptのクリックイベントがよくわからないという方におすすめです。
実際のコードをもとに解説していきますので、理解を深めていきましょう。
また、入門向けのJavaScriptを学習できるサイトも紹介しているので、あわせてご覧ください。
目次
そもそもJavaScriptについてよく分からないという方は、JavaScriptとは何なのかについて解説した記事を読むとさらに理解が深まります。
今回は、JavaScriptに関する内容だね!
どういう内容でしょうか?
JavaScriptで画像クリックにより発動される処理を実装する方法について詳しく説明していくね!
お願いします!
JavaScriptで画像クリックにより発動される処理を実装する方法
JavaScriptで、画像クリックで処理を実行するサンプルがこちらです。
See the Pen
event listener by TAKAYOSHI (@lspuwbkv)
on CodePen.
/*[1]クリック時に実行する関数*/ function clickListener (e) { /*クリックした要素のIDを表示*/ alert( e.target.getAttribute("id") + "をクリックしました" ) } /*[2]IMG要素をすべてセレクト*/ document.querySelectorAll("img").forEach((imgElm) => { /*[3]要素のクリックイベントにイベントリスナーをひもづける*/ imgElm.addEventListener('click', clickListener); })
大まかな流れは、まず[1]クリック時に実行したい処理を関数にまとめます。
そして、どの要素をクリックしたときに動作させるかセレクト、今回は[2]img要素すべてです。
最後に[3]要素のクリックイベントにイベントリスナーとして、[1]の関数をひもづけます。
詳しく解説していきます。
クリックイベントとイベントリスナー
Webページ上でユーザーが行う様々なアクションを、JavaScriptではイベントとして扱います。
例えばページを読み込んだらloadイベント、要素をクリックしたらclickイベントが発生するのです。
「ボタンをクリックしたら色を変える」「スクロールがココまで来たらフワッと出す」など、ユーザーのアクションをきっかけにプログラムを動かしたいことがあります。
そんな時、イベントリスナーという関数を作って、イベントにひもづけるのです。
/*イベント発生時に実行する関数*/ function eventListener (e) { /*イベント発生時に実行数する処理*/ } /*要素のクリックイベントに紐づける*/ imgElm.addEventListener('click', clickListener);
clickイベントにひもづけることで、要素のクリックをきっかけに処理が実行できるようになります。
まとめ
いかがだったでしょうか。
イベントリスナーを使えば、画像クリックをきっかけにいろいろな表現ができます。
クリック以外にも様々なイベントを使いこなしてみましょう。
内容が分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
JavaScriptを学習中の方へ
これで解説は終了です、お疲れさまでした。
- つまずかず「効率的に」学びたい
- 副業や転職後の「現場で使える」知識やスキルを身につけたい
プログラミングを学習していて、このように思ったことはありませんか?
テックアカデミーのフロントエンドコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。
合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、JavaScript・jQueryを使ったWebサービス開発を学べます。
まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。
時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!