画像の選択画面を作る際に、画像の上にチェックボタンを重ね
クリックすればチェックが入り、なおかつ枠線が入る仕様にしたいです。
下記サイトを参考に作りました。
https://remotestance.com/blog/2809/
ただ、結果的にやりたかったことは
画像の外枠に枠線をつけたいということです。
現状、画像に枠がつく状態です。これを外枠に枠がつくようにしたいです。
html
1<ul class="image_list"> 2 <li> 3 <div class="image_box"> 4 <img class="thumbnail" src="./img/mg_01.png" alt="foo" /> 5 <input class="disabled_checkbox" type="checkbox" checked /> 6 </div> 7 </li> 8</ul>
css
1ul.image_list li { 2 display: inline-block; 3 } 4 ul.image_list li .image_box { 5 width: 140px; 6 height: 160px; 7 background: #ffffff; 8 text-align: center; 9 position: relative; 10 } 11 .image_box img.thumbnail { 12 width: 95px; 13 padding-top: 12px; 14 } 15 .image_box img.thumbnail.checked { 16 border: 1px solid #BC3500; 17 } 18 .image_box .disabled_checkbox { 19 position: absolute; 20 bottom: 0; 21 left: 0; 22 display: none; 23 transform: scale(2); 24 cursor: pointer; 25 } 26 .image_box img.thumbnail.checked + .disabled_checkbox { 27 display: block; 28 }
js
1$(function() { 2 // チェックボックスのクリックを無効化します。 3 $('.image_box .disabled_checkbox').click(function() { 4 return false; 5 }); 6 7 // 画像がクリックされた時の処理です。 8 $('img.thumbnail').click(function() { 9 var $imageList = $('.image_list'); 10 11 // 現在の選択を解除します。 12 $imageList.find('img.thumbnail.checked').removeClass('checked'); 13 14 // チェックを入れた状態にします。 15 $(this).addClass('checked'); 16 }); 17});
もし、わかる方がいたらご教授いただけると幸いです。
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/09 15:51