質問編集履歴

1

コードの追加

2022/06/02 18:10

投稿

matsu33
matsu33

スコア13

test CHANGED
File without changes
test CHANGED
@@ -4,3 +4,71 @@
4
4
  どういうことかというと、デベロッパーツールで確認しながらクリックしてもちゃんと動いているのですが、safariで開くと、「prev」「next」どちらを押しても1番目のポップアップ画像に飛ばされます(本来なら最初にクリックした画像を基準に前後1枚)
5
5
  iphoneではそもそも1枚も画像が読み込まれていません。
6
6
  このように開く場所などによって表示が変わるのは、どのように対処すれば良いのでしょうか、デベロッパーツールがほぼ機能していない状況なので、どなたかご教授していただきたいです。
7
+
8
+ ```php
9
+ <div id="popup-img" class="default">
10
+ <img src="<?php echo get_template_directory_uri(); ?>/images/image/1.jpg" alt="ポップアップ">
11
+ <div id="popup-close-btn" class="popup-close-btn"><i class="fa-solid fa-xmark"></i></div>
12
+ <div class="popup-change-btn">
13
+ <div id="popup-prev-btn" class="change-btn"><i class="fa-solid fa-chevron-left"></i></i></div>
14
+ <div id="popup-next-btn" class="change-btn"><i class="fa-solid fa-chevron-right"></i></div>
15
+ </div>
16
+ </div>
17
+ <ul id="containers-p" class="containers-p">
18
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/1.jpg" alt=""></li>
19
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/2.jpg" alt=""></li>
20
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/3.jpg" alt=""></li>
21
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/4.jpg" alt=""></li>
22
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/5.jpg" alt=""></li>
23
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/6.jpg" alt=""></li>
24
+ <li class="container-p flex-pc"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/7.jpg" alt=""></li>
25
+ <li class="container-p flex-pc"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/8.jpg" alt=""></li>
26
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/9.jpg" alt=""></li>
27
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/10.jpg" alt=""></li>
28
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/11.jpg" alt=""></li>
29
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/12.jpg" alt=""></li>
30
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/13.jpg" alt=""></li>
31
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/14.jpg" alt=""></li>
32
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/15.jpg" alt=""></li>
33
+ <li class="container-p"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/16.jpg" alt=""></li>
34
+ <li class="container-p flex"><img class="pop_trigger" src="<?php echo get_template_directory_uri(); ?>/images/image/17.jpg" alt=""></li>
35
+ </ul>
36
+ ```
37
+ ```js
38
+ (function($){
39
+ let imageSources = ["/images/image/1.jpg","/images/image/2.jpg","/images/image/3.jpg","/images/image/4.jpg","/images/image/5.jpg","/images/image/6.jpg","/images/image/7.jpg","/images/image/8.jpg","/images/image/9.jpg","/images/image/10.jpg","/images/image/11.jpg","/images/image/12.jpg","/images/image/13.jpg","/images/image/14.jpg","/images/image/15.jpg","/images/image/16.jpg","/images/image/17.jpg",];
40
+
41
+ $('#container-p img').each(function() {
42
+ let path = $(this).attr("src");
43
+ imageSources.push(path);
44
+ });
45
+ let sourceIndex = 0;
46
+
47
+ $("#containers-p img").on("click", function () {
48
+ let img_src = $(this).attr("src");
49
+ sourceIndex = imageSources.indexOf(img_src);
50
+ $("#popup-img img").attr("src", img_src);
51
+ $("#popup-img").toggleClass('active');
52
+ });
53
+
54
+ $("#popup-close-btn").on("click", function () {
55
+ $("#popup-img").removeClass('active');
56
+ });
57
+
58
+
59
+ $('#popup-prev-btn').on("click", function() {
60
+ sourceIndex = (sourceIndex + imageSources.length - 1) % imageSources.length;
61
+ updatePopupImage();
62
+ });
63
+
64
+ $('#popup-next-btn').on("click", function() {
65
+ sourceIndex = (sourceIndex + 1) % imageSources.length;
66
+ updatePopupImage();
67
+ });
68
+
69
+ function updatePopupImage() {
70
+ $("#popup-img img").attr("src", imageSources[sourceIndex]);
71
+ }
72
+ })(jQuery);
73
+
74
+ ```