回答編集履歴
5
test
CHANGED
@@ -136,7 +136,7 @@
|
|
136
136
|
|
137
137
|
if (a == 45) {
|
138
138
|
|
139
|
-
a = 45.
|
139
|
+
a = 45.5;
|
140
140
|
|
141
141
|
} else if (a < 0) {
|
142
142
|
|
4
test
CHANGED
@@ -136,7 +136,7 @@
|
|
136
136
|
|
137
137
|
if (a == 45) {
|
138
138
|
|
139
|
-
a = 45;
|
139
|
+
a = 45.1;
|
140
140
|
|
141
141
|
} else if (a < 0) {
|
142
142
|
|
3
test
CHANGED
File without changes
|
2
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
3.
|
37
|
+
3.上端または下端に到達してonscrollが発火しなくなったタイミングの、onScroll()におけるscrollTop()の値は、**必ずしも、上端または下端にスクロールバーを位置させたときのscrollTop()の値を指しているとは限りません。**
|
38
38
|
|
39
39
|
|
40
40
|
|
1
test
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
```
|
30
30
|
|
31
|
-
|
31
|
+
|
32
32
|
|
33
33
|
2.スクロールバーがスクロールエリアの上端もしくは下端に到達すると、そこでonScrollイベントは発火しなくなります。
|
34
34
|
|
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
【対策】
|
52
52
|
|
53
|
-
onscrollイベントが発火しなくなった後、一定時間後に同じ処理を呼び出して、スクロールが止まった時点のscrollTop()の値を反映するようにすればよいで
|
53
|
+
onscrollイベントが発火しなくなった後、一定時間後に同じ処理を呼び出して、スクロールが止まった時点のscrollTop()の値を反映するようにすればよいでしょう。
|
54
54
|
|
55
55
|
|
56
56
|
|
@@ -76,19 +76,19 @@
|
|
76
76
|
|
77
77
|
【その他】
|
78
78
|
|
79
|
-
・transformを実行するときの基準(windowB - (elem1 * 2 - winH))が0から90の間に
|
79
|
+
・transformを実行するときの基準(windowB - (elem1 * 2 - winH))が0から90の間に限定されていますが、これだと、条件によって範囲を逸脱するとき(0を下回るとき/90を上回るとき)回転が止まったように見えます。
|
80
80
|
|
81
|
-
|
81
|
+
したがって、ここでも場合分けして、適切な値を設定した上でtransformをかける必要があると思います。
|
82
|
-
|
83
|
-
(そうしないと、同じように回転が止まったように見えます)
|
84
82
|
|
85
83
|
|
86
84
|
|
85
|
+
|
86
|
+
|
87
|
-
・スクロール中にrotateYの引数
|
87
|
+
・スクロール中にrotateYの引数が90degになると**スクロールがリセットされてしまう**ので、計算結果が90になる場合はほんの少しだけ値をずらしています。
|
88
88
|
|
89
89
|
|
90
90
|
|
91
|
-
・transitionを使うことで、スクロール中の回転及び、上端・下端に到達したときの変化を滑らかに見せています。
|
91
|
+
・transitionを使うことで、スクロール中の回転及び、上端・下端に到達したときの直近の形状からの変化を滑らかに見せています。
|
92
92
|
|
93
93
|
|
94
94
|
|