teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

class名を修正

2019/11/11 07:08

投稿

soda346
soda346

スコア18

title CHANGED
File without changes
body CHANGED
@@ -70,7 +70,7 @@
70
70
  var modal = document.querySelector('#modal');
71
71
  var modalContent = document.querySelectorAll('.modal-content')[0];
72
72
  var pictContainer = document.querySelector('#pict-container');
73
- var xBtn = document.querySelectorAll(".btn-flat-border")[0];
73
+ var xBtn = document.querySelectorAll(".xbtn")[0];
74
74
 
75
75
  xBtn.addEventListener('click', function(e) {
76
76
  e.preventDefault();

1

JavaScriptのコードを追加しました

2019/11/11 07:08

投稿

soda346
soda346

スコア18

title CHANGED
File without changes
body CHANGED
@@ -58,4 +58,55 @@
58
58
  margin 0 0 auto auto;
59
59
  /*float: right;*/
60
60
  }
61
+ ```
62
+
63
+ ```JavaScript
64
+ (function() {
65
+ var picts = document.querySelectorAll('.gallery');
66
+ var srcs = Array.from(picts).map(function(pict) {
67
+ return pict.parentNode.href;
68
+ });
69
+
70
+ var modal = document.querySelector('#modal');
71
+ var modalContent = document.querySelectorAll('.modal-content')[0];
72
+ var pictContainer = document.querySelector('#pict-container');
73
+ var xBtn = document.querySelectorAll(".btn-flat-border")[0];
74
+
75
+ xBtn.addEventListener('click', function(e) {
76
+ e.preventDefault();
77
+ modal.style.display = 'none';
78
+ });
79
+
80
+ picts.forEach(function(pict) {
81
+ pict.addEventListener('click', function(e) {
82
+ e.preventDefault();
83
+ var aEle = e.target.parentNode;
84
+ // modal.style.display = 'block';
85
+ modal.style.display = 'flex';
86
+ modal.style.justifyConten = 'center';
87
+ modal.style.alignItems = 'center';
88
+ pictContainer.style.width = "80%";
89
+ pictContainer.style.height = "90%";
90
+ pictContainer.firstChild.src = aEle.href;
91
+
92
+ pictContainer.firstChild.height = window.innerHeight * 0.9;
93
+ pictContainer.firstChild.width = pictContainer.firstChild.height * 1.31;
94
+ pictContainer.style.textAlign = 'center';
95
+
96
+ pictContainer.addEventListener('click', function(e) {
97
+ var idx = srcs.indexOf(pictContainer.firstChild.src);
98
+ pictContainer.firstChild.src = (srcs[idx + 1]) ? srcs[idx + 1] : srcs[0];
99
+ });
100
+ // modalContent.width = pictContainer.firstChild.width;
101
+ // modalContent.height = pictContainer.firstChild.height;
102
+
103
+ });
104
+ });
105
+
106
+ window.addEventListener('click', function(e) {
107
+ if (e.target === modal) {
108
+ modal.style.display = 'none';
109
+ }
110
+ });
111
+ })();
61
112
  ```