Webサイト制作

投稿日:2024年4月3日 更新日:

画像の拡大表示(ポップアップ)

やりたいこと

画像のポップアップがしたい!

タグを設置

html内であればどこでも良いので、ポップアップしたいページに以下のタグを追加する

<div id="modal-container">
    <div><img src=""></div>
</div>

画像にクラスを付与

上のタグとは別に、ポップアップしたい画像にクラスを追加する。
クラス名は任意のものを。

<img src="画像のパス" class="popup">

スクリプトを記載

jQueryを使用します。
以下のコードをページに追加します。

const modal = jQuery('#modal-container');
const img = modal.find('img');
jQuery('img.popup').each(function(index) {
jQuery(this).click(function() {
img.attr('src', jQuery(this).attr('src'));
modal.show();
})
});
modal.click(function() {
$(this).hide();
});

スタイルを記載

スタイルシートに以下コードを追記します。

#modal-container {
display: none;
position: fixed;
background: rgba(0, 0, 0, .6);
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 9999;
}
#modal-container>div {
display: flex;
height: 100vh;
justify-content: center;
align-items: center;
}
#modal-container>div img {
max-width: calc(100vw - 30px);
max-height: calc(100vh - 30px);
}
img.popup {
cursor: pointer;
}

完成!

- Webサイト制作
-

関連記事

no image

サイト制作に役立つTips_リンク集

目次1 スタイルなどの装飾1.1 ボタンのホバーアニメ1.2 角丸とシャドウのジェネレーター1.3 グラデーションジェネレーター1.4 CSS三角形作成ツール1.5 吹き出し作成のジェネレーター1.6 ...

cssだけでドロップダウンメニューを実装(軽い!)

ドロップダウンメニューをcssだけで実装できる方法があるらしい。 jsファイルの読み込みがないなら軽くていいなぁと思いやってみた。 目次1 まずはhtml2 つぎにcss3 cssの中身の解説4 高さ ...

Product Advertising APIで商品情報を取得してみる

ノンプログラマーがProduct Advertising APIでの商品情報取得にチャレンジしました。 検索しても情報が少なく苦労したので、同じような方の参考になればと思います。 目次1 amazon ...

"Swiper"を使ったスライドで左右に画像を表示する

JQueryなしで動く"Swiper"という便利なプラグインを使ってのスライドショー。 左右に画像を表示したい時の注意点をメモ。 ダウンロードはこちらから swiper公式サイト 使う中ですごく分かり ...

拡大してもボヤけない、アイコンフォントが便利すぎる

サイト作成の時にメニューアイコンを作っていたけど 3つのメニューのうち1つをアイコンフォント使ってたら表示の鮮明さに驚いた。 他のアイコンはpng形式の画像だったけど全然違う。 通常、画像でできたアイ ...