JavaScriptのalertダイアログにアイコンを表示させる方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptのalertダイアログにアイコンを表示させる方法について現役エンジニアが解説しています。alertダイアログとはユーザーに確認をうながすダイアログのことです。ダイアログにアイコンを表示させる方法として、独にダイアログを作成する方法を解説します。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

JavaScriptのalertダイアログにアイコンを表示させる方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。

そもそもJavaScriptについてよく分からないという方は、JavaScriptとは何なのかについて解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプJavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptのalertダイアログにアイコンを表示させる方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

alertダイアログとは

ユーザーに確認をうながすダイアログのことです。ブラウザによって見た目は多少差がありますが、メッセージとOKボダンの組み合わせで構成されています。

下記の画像はGoogle Chromeの場合のalertダイアログです。

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

alertダイアログにアイコンを表示させる方法

alertダイアログの表示はブラウザが用意する部品になりますので、アイコンの表示や見た目の装飾はできません。装飾をおこなう必要がある場合は、独自でダイアログを作成することになります。

独自にダイアログを作成することで、アイコンの表示やボタンを増やしたり装飾したりすることができるようになります。

実際に書いてみよう

自作のダイアログを作る流れは、主に下記の2つです。

  1. HTMLでアイコンやボタンなどの必要なものを記述してdialog要素で囲う
  2. JavaScriptでdialogの表示処理をする

まずは自作したダイアログに表示するアイコン(画像)を、Lorem Picsumのサイトから借りてきます。このサイトは商用利用もOKでダウンロード不要で使えるので動作の検証などに便利です。

今回はこちらのURLの画像を使います。

https://picsum.photos/id/111/100/100

続いてHTMLソースです。用意した画像とボタンをdialog要素で囲っています。

<dialog id='dialog'>
  <div>自作ダイアログ</div>
  <img src="https://picsum.photos/id/111/100/100">
   <div>
       <button id='closebutton'>閉じる</button>
   </div>
</dialog>
<button id='openButton'>ダイアログを開く</button>

最後にJavaScriptソースです。

HTMLのダイアログとダイアログを開くボタンと閉じるボタンの3つを取得してそれぞれに処理を記述しています。開くボタンが押されたらdialogの属性をopenに変更することでダイアログが表示できます。

dialog.open()ではなく、dialog.showModal()を使うとダイアログの周りを暗くしてダイアログだけを操作するようなモーダルダイアログとして開くことができます。

let dialog = document.getElementById('dialog');
let openButton = document.getElementById('openButton');
let closebutton = document.getElementById('closebutton');

openButton.onclick = () => {
  dialog.showModal();
}

closebutton.onclick = () => {
  dialog.close();
}

 

まとめ

今回はCSSでの装飾はしませんでしたが、CSSを使って装飾も自由にできます。お好みの部品と装飾をしたダイアログを作ってみてください。

筆者プロフィール

横山茂雄(よこやましげお)

フリーエンジニアとして活動中。サーバーサイドからフロントまで時代の波に合わせてスキルを変化させてきました。

言語、フレームワーク、DB、現場、いずれも転々としながら、筋トレも欠かさない体育会系エンジニアです。TechAcademyジュニアのゲームアプリコースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもJavaScript・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプJavaScript/jQuery講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。