回答編集履歴
4
ed
test
CHANGED
@@ -33,8 +33,9 @@
|
|
33
33
|
現状のHTMLには存在しないため、空のオブジェクトになり、空のオブジェクトには何も定義されていないため
|
34
34
|
`$(...).offset() is undefined`となっているわけですね。
|
35
35
|
|
36
|
-
本件のみを確認するためには
|
36
|
+
本件のみを確認するためには無関係なjsファイルやCSSファイルが読み込まれているようなので、
|
37
37
|
こちらで勝手に削除したところもあり、質問者さんと全く同じコードにはなってないと思いますが、
|
38
38
|
適当な要素にその名前のIDを与えたらその要素のところまでスクロールするようにはなりました。
|
39
39
|
|
40
40
|
操作や使いたい要素、対象の要素が間違いなくHTML上にあることは確認してください。
|
41
|
+
※もちろん様々な影響があるので、個々の機能「だけ」に必要な要素で動作確認をしてから結合するようにしてください。
|
3
ed
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
```
|
17
17
|
offset()使ってる箇所というと以下
|
18
18
|
|
19
|
-
> offset()
|
19
|
+
> var HashOffset = $(Hash).offset().top;
|
20
20
|
|
21
21
|
でおそらく問題は
|
22
22
|
> var Hash = $(this.hash);
|
2
ed
test
CHANGED
@@ -7,4 +7,34 @@
|
|
7
7
|
|
8
8
|
jQuery本体が複数読み込まれているのも問題になり得ます。
|
9
9
|
|
10
|
+
更に
|
11
|
+
----
|
10
12
|
|
13
|
+
ブラウザ開発ツールのコンソール確認するとエラー出てるようです。
|
14
|
+
```console
|
15
|
+
Uncaught TypeError: $(...).offset() is undefined
|
16
|
+
```
|
17
|
+
offset()使ってる箇所というと以下
|
18
|
+
|
19
|
+
> offset()
|
20
|
+
|
21
|
+
でおそらく問題は
|
22
|
+
> var Hash = $(this.hash);
|
23
|
+
|
24
|
+
ここでHashが空のオブジェクトではないかという点。
|
25
|
+
```
|
26
|
+
var Hash = $(this.hash);
|
27
|
+
console.log(Hash) //Object { }
|
28
|
+
```
|
29
|
+
|
30
|
+
上記の通り。
|
31
|
+
`this.hashの値で指定可能なセレクタを持った要素があるか`ということになります。
|
32
|
+
this.hashは`#wrapper`となっているようなので、wrapperというidを持った要素があるかどうかで、
|
33
|
+
現状のHTMLには存在しないため、空のオブジェクトになり、空のオブジェクトには何も定義されていないため
|
34
|
+
`$(...).offset() is undefined`となっているわけですね。
|
35
|
+
|
36
|
+
本件のみを確認するためには不要なjsファイルやCSSファイルが読み込まれているようなので、
|
37
|
+
こちらで勝手に削除したところもあり、質問者さんと全く同じコードにはなってないと思いますが、
|
38
|
+
適当な要素にその名前のIDを与えたらその要素のところまでスクロールするようにはなりました。
|
39
|
+
|
40
|
+
操作や使いたい要素、対象の要素が間違いなくHTML上にあることは確認してください。
|
1
ed
test
CHANGED
@@ -1,3 +1,10 @@
|
|
1
1
|
省略の中がどうなっているか分かりませんが、
|
2
2
|
JavaScriptがjQueryの機能利用前提で組まれているのでjQuery本体を先に読み込まないことには動作しません。
|
3
3
|
ブラウザ開発ツールのコンソールにエラーも出ているのではないでしょうか。
|
4
|
+
|
5
|
+
追記のコードから
|
6
|
+
----
|
7
|
+
|
8
|
+
jQuery本体が複数読み込まれているのも問題になり得ます。
|
9
|
+
|
10
|
+
|