質問編集履歴
4
情報の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -104,7 +104,7 @@
|
|
104
104
|
|
105
105
|
```
|
106
106
|
|
107
|
-
上記scriptだと、1番最初の.svgしかアニメーションしません。
|
107
|
+
上記scriptだと、1番最初の.svgしかアニメーションしません。(2回目以降、flgがtrueになってるため、if文の条件に当てはまらなくなっている?)
|
108
108
|
|
109
109
|
|
110
110
|
|
3
コードの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -44,13 +44,19 @@
|
|
44
44
|
|
45
45
|
$(function() {
|
46
46
|
|
47
|
-
var target = $(".svg").offset().top;
|
47
|
+
var target = $(".svg").offset().top; //---(1)
|
48
48
|
|
49
|
-
var windowHeight = $(window).height();
|
49
|
+
var windowHeight = $(window).height(); //---(2)
|
50
50
|
|
51
|
-
var flg = false;
|
51
|
+
var flg = false; //---(3)
|
52
|
+
|
53
|
+
var scrolltop = 0; //---(4)
|
54
|
+
|
55
|
+
var startPoint = 0; //---(5)
|
52
56
|
|
53
57
|
|
58
|
+
|
59
|
+
//(6)
|
54
60
|
|
55
61
|
var mySVG = $('.svg').drawsvg({
|
56
62
|
|
@@ -66,39 +72,29 @@
|
|
66
72
|
|
67
73
|
|
68
74
|
|
75
|
+
//(7)
|
76
|
+
|
69
77
|
$(window).on('scroll resize',function(){
|
70
78
|
|
71
|
-
$(
|
79
|
+
$(".svg").each(function(){
|
72
80
|
|
73
|
-
$(
|
81
|
+
scrolltop = $(window).scrollTop();
|
74
82
|
|
83
|
+
windowHeight = $(window).height();
|
75
84
|
|
85
|
+
startPoint = scrolltop + windowHeight - 100;
|
76
86
|
|
77
|
-
|
87
|
+
if(startPoint > target){
|
78
88
|
|
79
|
-
|
89
|
+
if(flg==false){
|
80
90
|
|
81
|
-
|
91
|
+
$(this).drawsvg('animate');
|
82
92
|
|
83
|
-
|
84
|
-
|
85
|
-
if (scroll > imgPos - windowHeight + windowHeight/5){
|
86
|
-
|
87
|
-
if(flg==false){
|
88
|
-
|
89
|
-
$(this).drawsvg('animate');
|
90
|
-
|
91
|
-
$(this).addClass('test');//検証用
|
92
|
-
|
93
|
-
|
93
|
+
flg = true;
|
94
|
-
|
95
|
-
}
|
96
94
|
|
97
95
|
}
|
98
96
|
|
99
|
-
|
100
|
-
|
101
|
-
}
|
97
|
+
}
|
102
98
|
|
103
99
|
});
|
104
100
|
|
@@ -116,13 +112,19 @@
|
|
116
112
|
|
117
113
|
$(function() {
|
118
114
|
|
119
|
-
var target = $(".svg").offset().top;
|
115
|
+
var target = $(".svg").offset().top; //---(1)
|
120
116
|
|
121
|
-
var windowHeight = $(window).height();
|
117
|
+
var windowHeight = $(window).height(); //---(2)
|
122
118
|
|
123
|
-
var flg = false;
|
119
|
+
var flg = false; //---(3)
|
120
|
+
|
121
|
+
var scrolltop = 0; //---(4)
|
122
|
+
|
123
|
+
var startPoint = 0; //---(5)
|
124
124
|
|
125
125
|
|
126
|
+
|
127
|
+
//(6)
|
126
128
|
|
127
129
|
var mySVG = $('.svg').drawsvg({
|
128
130
|
|
@@ -138,41 +140,33 @@
|
|
138
140
|
|
139
141
|
|
140
142
|
|
143
|
+
//(7)
|
144
|
+
|
141
145
|
$(window).on('scroll resize',function(){
|
142
146
|
|
143
|
-
$(
|
147
|
+
$(".svg").each(function(){
|
144
148
|
|
145
|
-
$(
|
149
|
+
scrolltop = $(window).scrollTop();
|
150
|
+
|
151
|
+
windowHeight = $(window).height();
|
152
|
+
|
153
|
+
startPoint = scrolltop + windowHeight - 100;
|
154
|
+
|
155
|
+
if(startPoint > target){
|
156
|
+
|
157
|
+
$(this).drawsvg('animate');//検証
|
146
158
|
|
147
159
|
|
148
160
|
|
149
|
-
|
161
|
+
// if(flg==false){
|
150
162
|
|
151
|
-
|
163
|
+
// $(this).drawsvg('animate');
|
152
164
|
|
153
|
-
|
165
|
+
// flg = true;
|
154
166
|
|
167
|
+
// }
|
155
168
|
|
156
|
-
|
157
|
-
if (scroll > imgPos - windowHeight + windowHeight/5){
|
158
|
-
|
159
|
-
$(this).drawsvg('animate');
|
160
|
-
|
161
|
-
// if(flg==false){
|
162
|
-
|
163
|
-
// $(this).drawsvg('animate');
|
164
|
-
|
165
|
-
// $(this).addClass('test');
|
166
|
-
|
167
|
-
// flg = true;
|
168
|
-
|
169
|
-
// }
|
170
|
-
|
171
|
-
|
169
|
+
}
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
});
|
176
170
|
|
177
171
|
});
|
178
172
|
|
2
タイトルの修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
jQuery DrawSVG:スクロール
|
1
|
+
jQuery DrawSVG:複数あるSVGをスクロールして可視範囲に入ったタイミングでアニメーションさせたい
|
test
CHANGED
File without changes
|
1
情報の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
参考にしたサイト:https://stand-4u.com/web/javascript/drawsvg.html
|
8
8
|
|
9
|
-
|
9
|
+
(ターゲットが見える位置までスクロールしてから、一度だけsvg アニメーションを実行する方法)
|
10
10
|
|
11
11
|
```html
|
12
12
|
|