回答編集履歴
4
修正
test
CHANGED
@@ -28,7 +28,6 @@
|
|
28
28
|
setTimeout(function(){
|
29
29
|
$('.pos_now').each(function (i) {
|
30
30
|
boxTop[i] = $(this).offset().top;
|
31
|
-
console.log(boxTop[i]);
|
32
31
|
});
|
33
32
|
changeBox(4);
|
34
33
|
}, 1000);
|
3
回答追加
test
CHANGED
@@ -9,3 +9,29 @@
|
|
9
9
|
その為、不具合が起きるわけです。
|
10
10
|
|
11
11
|
ですので、これを解決するにはアコーディオンを開くボタンをクリックした際に、セクションの高さを再取得し直せば解決すると思います。
|
12
|
+
|
13
|
+
### 追記
|
14
|
+
|
15
|
+
> いただいたアドバイスを参考に、また高さの取得方法を調べ、「もっと見る」ボタンをクリックした際に、セクションの高さを再取得するよう下記のように書き換えました。しかしうまく動作させることができませんでした。
|
16
|
+
> もしよろしければ、高さを再取得する記述方法を教えていただけると嬉しく思います。
|
17
|
+
> 知識不足で申し訳ありません。何卒よろしくお願いいたしますm(__)m
|
18
|
+
|
19
|
+
もっと良いやり方は全然あると思いますが、いまのコードを活かすなら以下のような形で要望の動きにはなると思います。
|
20
|
+
|
21
|
+
function changeBox(secNum) {
|
22
|
+
︙
|
23
|
+
};
|
24
|
+
の下に、
|
25
|
+
|
26
|
+
```jQuery
|
27
|
+
$(".more").on("click", function() {
|
28
|
+
setTimeout(function(){
|
29
|
+
$('.pos_now').each(function (i) {
|
30
|
+
boxTop[i] = $(this).offset().top;
|
31
|
+
console.log(boxTop[i]);
|
32
|
+
});
|
33
|
+
changeBox(4);
|
34
|
+
}, 1000);
|
35
|
+
});
|
36
|
+
```
|
37
|
+
を入れる。
|
2
文章の修正
test
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
```
|
4
4
|
ここでページにアクセスした際に、各セクションまでの距離を取得しています。
|
5
5
|
|
6
|
-
つまり、最初にアクセスした段階でセクション5の要素の高さはいくつで、その高さ分スクロールしたらセクション6の領域になると決まってしまいます。
|
6
|
+
つまり、最初にアクセスした段階でセクション5の要素までの距離、高さはいくつで、その高さ分スクロールしたらセクション6の領域になると決まってしまいます。
|
7
7
|
|
8
8
|
しかし、セクション5はアコーディオン展開すると高さが変わってしまいます。
|
9
9
|
その為、不具合が起きるわけです。
|
1
誤字の修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
```j
|
1
|
+
```jQuery
|
2
2
|
boxTop[i] = $(this).offset().top;
|
3
3
|
```
|
4
4
|
ここでページにアクセスした際に、各セクションまでの距離を取得しています。
|