質問編集履歴

6

タイトル変更および追記

2020/05/01 03:37

投稿

rrgsn
rrgsn

スコア9

test CHANGED
@@ -1 +1 @@
1
- jQuery:特定のsectionに到達した時点でアニメーションを作動させたい。
1
+ jQueryが作動しない:特定のsectionに到達した時点でアニメーションを作動させたい。
test CHANGED
@@ -370,6 +370,22 @@
370
370
 
371
371
 
372
372
 
373
+ <script type="text/javascript">
374
+
375
+ $(document).ready(function(){
376
+
377
+ alert("jQueryファイルの読み込み完了でーす。");
378
+
379
+ });
380
+
381
+ </script>
382
+
383
+ ポップアップが表示され
384
+
385
+ 読み込みをしていることは確認
386
+
387
+
388
+
373
389
  ### 補足情報(FW/ツールのバージョンなど)
374
390
 
375
391
  js/jquery-3.5.0.min.js

5

タイトル変更

2020/05/01 03:37

投稿

rrgsn
rrgsn

スコア9

test CHANGED
@@ -1 +1 @@
1
- jQuery:特定のセクションに到達した時点で画像やテキストのアニメーションを作動させたい。
1
+ jQuery:特定のsectionに到達した時点でアニメーションを作動させたい。
test CHANGED
File without changes

4

タイトル変更

2020/05/01 03:22

投稿

rrgsn
rrgsn

スコア9

test CHANGED
@@ -1 +1 @@
1
- 特定のセクションに到達した時点で画像やテキストのアニメーションを作動させたい。
1
+ jQuery:特定のセクションに到達した時点で画像やテキストのアニメーションを作動させたい。
test CHANGED
File without changes

3

試したことの追記

2020/04/30 03:15

投稿

rrgsn
rrgsn

スコア9

test CHANGED
File without changes
test CHANGED
@@ -336,6 +336,40 @@
336
336
 
337
337
 
338
338
 
339
+ ```
340
+
341
+ $(window).on('load', function() {
342
+
343
+ var observer = new IntersectionObserver(function(entries, observer) {
344
+
345
+ if (entries[0].intersectionRatio > 0) {
346
+
347
+ observer.unobserve(entries[0].target);
348
+
349
+ $(entries[0].target).addClass('active');
350
+
351
+ }
352
+
353
+ });
354
+
355
+
356
+
357
+ $('.scroll-animation').each(function(index, element) {
358
+
359
+ observer.observe(element);
360
+
361
+ });
362
+
363
+ });
364
+
365
+ ```
366
+
367
+ https://teratail.com/questions/209344
368
+
369
+ 上記の質問で似たような事象があったので、試したのですが、うまく行かず...
370
+
371
+
372
+
339
373
  ### 補足情報(FW/ツールのバージョンなど)
340
374
 
341
375
  js/jquery-3.5.0.min.js

2

修正

2020/04/29 21:34

投稿

rrgsn
rrgsn

スコア9

test CHANGED
File without changes
test CHANGED
@@ -32,304 +32,296 @@
32
32
 
33
33
 
34
34
 
35
+ ### 該当のソースコード
36
+
37
+
38
+
39
+ ```HTML
40
+
41
+ <body>
42
+
43
+ <div class="wrapper">
44
+
45
+ <div class="fullPageScroll">
46
+
47
+ ~(中略)
48
+
49
+ <section id="section1" class="section section1">
50
+
51
+ <h1>Company Profile</h1>
52
+
53
+ <div class="img-wrap">
54
+
55
+ <img src="/Users/~/image.jpg">
56
+
57
+ </div>
58
+
59
+     </section>
60
+
61
+ ~(中略)
62
+
63
+ </div>
64
+
65
+ </div>
66
+
67
+ </body>
68
+
35
69
  ```
36
70
 
71
+
72
+
73
+ ```CSS
74
+
75
+ .section3 {
76
+
77
+ background-color: white;
78
+
79
+ position: relative;
80
+
81
+ }
82
+
83
+
84
+
85
+ .section3 h1 {
86
+
87
+ position: absolute;
88
+
89
+ left: 16%;
90
+
37
- エラーメッセージ
91
+ top: 7%;
92
+
93
+ text-align: center;
94
+
95
+ font-size: 3em;
96
+
97
+ font-family: 'Raleway', sans-serif;
98
+
99
+ }
100
+
101
+
102
+
103
+ .section1 img {
104
+
105
+ display: block;
106
+
107
+ width: 40%;
108
+
109
+ height: 100vh;
110
+
111
+ float: right;
112
+
113
+ }
114
+
115
+
116
+
117
+ .img-wrap {
118
+
119
+ overflow: hidden;
120
+
121
+ position: relative;
122
+
123
+ }
124
+
125
+
126
+
127
+ .img-wrap:before {
128
+
129
+ animation: img-wrap 2s cubic-bezier(.4, 0, .2, 1) forwards;
130
+
131
+ background: #fff;
132
+
133
+ bottom: 0;
134
+
135
+ content: '';
136
+
137
+ left: 0;
138
+
139
+ pointer-events: none;
140
+
141
+ position: absolute;
142
+
143
+ right: 0;
144
+
145
+ top: 0;
146
+
147
+ z-index: 1;
148
+
149
+ }
150
+
151
+
152
+
153
+ @keyframes img-wrap {
154
+
155
+ 100% {
156
+
157
+ transform: translateX(-100%);
158
+
159
+ }
160
+
161
+ }
162
+
163
+
38
164
 
39
165
  ```
40
166
 
41
167
 
42
168
 
43
- ### 該当のソースコード
44
-
45
-
46
-
47
- ```HTML
48
-
49
- <body>
50
-
51
- <div class="wrapper">
52
-
53
- <div class="fullPageScroll">
54
-
55
- ~(中略)
56
-
57
- <section id="section1" class="section section1">
58
-
59
- <h1>Company Profile</h1>
60
-
61
- <div class="img-wrap">
62
-
63
- <img src="/Users/~/image.jpg">
64
-
65
- </div>
66
-
67
-     </section>
68
-
69
- ~(中略)
70
-
71
- </div>
72
-
73
- </div>
74
-
75
- </body>
169
+ 方ビギナーな為、念為JSのコード全記載いたします。
170
+
171
+ ```JS
172
+
173
+
174
+
175
+ // スムーススクロール
176
+
177
+ const paginations = document.querySelectorAll(".pagination a");
178
+
179
+ paginations.forEach(pagination => {
180
+
181
+ pagination.addEventListener("click", e => {
182
+
183
+ e.preventDefault();
184
+
185
+ const targetId = e.target.hash;
186
+
187
+ const target = document.querySelector(targetId);
188
+
189
+ target.scrollIntoView({ behavior: "smooth" });
190
+
191
+ });
192
+
193
+ });
194
+
195
+
196
+
197
+ // Intersection Observer
198
+
199
+ const sections = document.querySelectorAll(".section");
200
+
201
+ const observerRoot = document.querySelector(".fullPageScroll");
202
+
203
+ const options = {
204
+
205
+ root: observerRoot,
206
+
207
+ rootMargin: "-50% 0px",
208
+
209
+ threshold: 0
210
+
211
+ };
212
+
213
+
214
+
215
+
216
+
217
+ /**
218
+
219
+ * 交差したときに呼び出す関数
220
+
221
+ * @param entries - IntersectionObserverEntry IntersectionObserverが交差したときに渡されるオブジェクトです。
222
+
223
+ */
224
+
225
+ function doWhenIntersect(entries) {
226
+
227
+ entries.forEach(entry => {
228
+
229
+ if (entry.isIntersecting) {
230
+
231
+ activatePagination(entry.target);
232
+
233
+ }
234
+
235
+ });
236
+
237
+ };
238
+
239
+
240
+
241
+ /**
242
+
243
+ * ページネーションの大きさを変える関数
244
+
245
+ * @param element - HTMLElement 現在表示中のスライドのHTML要素を引数に取ります。
246
+
247
+ */
248
+
249
+ function activatePagination(element) {
250
+
251
+ const currentActiveIndex = document.querySelector(
252
+
253
+ "#pagination .active"
254
+
255
+ );
256
+
257
+ if (currentActiveIndex !== null) {
258
+
259
+ currentActiveIndex.classList.remove("active");
260
+
261
+ }
262
+
263
+ const newActiveIndex = document.querySelector(
264
+
265
+ `a[href='#${element.id}']`
266
+
267
+ );
268
+
269
+ newActiveIndex.classList.add("active");
270
+
271
+ };
272
+
273
+
274
+
275
+
276
+
277
+ $(window).scroll(function() {
278
+
279
+ var windowHeight = $(window).height(100);
280
+
281
+ topWindow = $(window).scrollTop(),
282
+
283
+ targetPosition = $("section3").offset().top;
284
+
285
+ const image = document.querySelectorAll('.img-wrap');
286
+
287
+
288
+
289
+ const observer = new IntersectionObserver(function(entries) {
290
+
291
+ entries.forEach(function(entry) {
292
+
293
+ if (entry.intersectionRatio > 0) {
294
+
295
+ entry.target.classList.add('img-animation');
296
+
297
+ } else {
298
+
299
+ entry.target.classList.remove('img-animation');
300
+
301
+ }
302
+
303
+ });
304
+
305
+ });
306
+
307
+
308
+
309
+
310
+
311
+ Array.prototype.forEach.call(image, function(img) {
312
+
313
+ observer.observe(img);
314
+
315
+ });
316
+
317
+ });
318
+
319
+
76
320
 
77
321
  ```
78
322
 
79
323
 
80
324
 
81
- ```CSS
82
-
83
- .section3 {
84
-
85
- background-color: white;
86
-
87
- position: relative;
88
-
89
- }
90
-
91
-
92
-
93
- .section3 h1 {
94
-
95
- position: absolute;
96
-
97
- left: 16%;
98
-
99
- top: 7%;
100
-
101
- text-align: center;
102
-
103
- font-size: 3em;
104
-
105
- font-family: 'Raleway', sans-serif;
106
-
107
- }
108
-
109
-
110
-
111
- .section1 img {
112
-
113
- display: block;
114
-
115
- width: 40%;
116
-
117
- height: 100vh;
118
-
119
- float: right;
120
-
121
- }
122
-
123
-
124
-
125
- .img-wrap {
126
-
127
- overflow: hidden;
128
-
129
- position: relative;
130
-
131
- }
132
-
133
-
134
-
135
- .img-wrap:before {
136
-
137
- animation: img-wrap 2s cubic-bezier(.4, 0, .2, 1) forwards;
138
-
139
- background: #fff;
140
-
141
- bottom: 0;
142
-
143
- content: '';
144
-
145
- left: 0;
146
-
147
- pointer-events: none;
148
-
149
- position: absolute;
150
-
151
- right: 0;
152
-
153
- top: 0;
154
-
155
- z-index: 1;
156
-
157
- }
158
-
159
-
160
-
161
- @keyframes img-wrap {
162
-
163
- 100% {
164
-
165
- transform: translateX(-100%);
166
-
167
- }
168
-
169
- }
170
-
171
-
172
-
173
- ```
174
-
175
-
176
-
177
- ※当方ビギナーな為、念の為JSのコード全記載いたします。
178
-
179
- ```JS
180
-
181
-
182
-
183
- // スムーススクロール
184
-
185
- const paginations = document.querySelectorAll(".pagination a");
186
-
187
- paginations.forEach(pagination => {
188
-
189
- pagination.addEventListener("click", e => {
190
-
191
- e.preventDefault();
192
-
193
- const targetId = e.target.hash;
194
-
195
- const target = document.querySelector(targetId);
196
-
197
- target.scrollIntoView({ behavior: "smooth" });
198
-
199
- });
200
-
201
- });
202
-
203
-
204
-
205
- // Intersection Observer
206
-
207
- const sections = document.querySelectorAll(".section");
208
-
209
- const observerRoot = document.querySelector(".fullPageScroll");
210
-
211
- const options = {
212
-
213
- root: observerRoot,
214
-
215
- rootMargin: "-50% 0px",
216
-
217
- threshold: 0
218
-
219
- };
220
-
221
-
222
-
223
-
224
-
225
- /**
226
-
227
- * 交差したときに呼び出す関数
228
-
229
- * @param entries - IntersectionObserverEntry IntersectionObserverが交差したときに渡されるオブジェクトです。
230
-
231
- */
232
-
233
- function doWhenIntersect(entries) {
234
-
235
- entries.forEach(entry => {
236
-
237
- if (entry.isIntersecting) {
238
-
239
- activatePagination(entry.target);
240
-
241
- }
242
-
243
- });
244
-
245
- };
246
-
247
-
248
-
249
- /**
250
-
251
- * ページネーションの大きさを変える関数
252
-
253
- * @param element - HTMLElement 現在表示中のスライドのHTML要素を引数に取ります。
254
-
255
- */
256
-
257
- function activatePagination(element) {
258
-
259
- const currentActiveIndex = document.querySelector(
260
-
261
- "#pagination .active"
262
-
263
- );
264
-
265
- if (currentActiveIndex !== null) {
266
-
267
- currentActiveIndex.classList.remove("active");
268
-
269
- }
270
-
271
- const newActiveIndex = document.querySelector(
272
-
273
- `a[href='#${element.id}']`
274
-
275
- );
276
-
277
- newActiveIndex.classList.add("active");
278
-
279
- };
280
-
281
-
282
-
283
-
284
-
285
- $(window).scroll(function() {
286
-
287
- var windowHeight = $(window).height(100);
288
-
289
- topWindow = $(window).scrollTop(),
290
-
291
- targetPosition = $("section3").offset().top;
292
-
293
- const image = document.querySelectorAll('.img-wrap');
294
-
295
-
296
-
297
- const observer = new IntersectionObserver(function(entries) {
298
-
299
- entries.forEach(function(entry) {
300
-
301
- if (entry.intersectionRatio > 0) {
302
-
303
- entry.target.classList.add('img-animation');
304
-
305
- } else {
306
-
307
- entry.target.classList.remove('img-animation');
308
-
309
- }
310
-
311
- });
312
-
313
- });
314
-
315
-
316
-
317
-
318
-
319
- Array.prototype.forEach.call(image, function(img) {
320
-
321
- observer.observe(img);
322
-
323
- });
324
-
325
- });
326
-
327
-
328
-
329
- ```
330
-
331
-
332
-
333
325
 
334
326
 
335
327
  ### 試したこと

1

問題点の追記

2020/04/29 21:12

投稿

rrgsn
rrgsn

スコア9

test CHANGED
File without changes
test CHANGED
@@ -28,6 +28,8 @@
28
28
 
29
29
  ### 発生している問題・エラーメッセージ
30
30
 
31
+ サイトを表示した際にすぐ、アニメーションが作動してしまう。
32
+
31
33
 
32
34
 
33
35
  ```