teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

記述が足りない部分を加筆しました。

2021/04/08 06:16

投稿

cheshire-cat
cheshire-cat

スコア73

answer CHANGED
@@ -1,10 +1,33 @@
1
1
  myscript.jsの読み込みが原因でScrollHintが作動しないことが分かりました。
2
2
 
3
- 現在のmyscript.jsの読み込ませ方だと、myscript.jsはwp_head()から出力ることになります。
3
+ 現在のmyscript.jsの読み込ませ方だと、myscript.jsはwp_head()から出力されることになるのでが、これだとScrollHintは動かないようです
4
- これだとScrollHintは働かないようです。
5
4
 
6
- これをwp_footerから出力させることでScrollHintは動いてくれました。修正したmyscript.jsの読み込ませコードは次の通りです
5
+ これをwp_footerから出力させることでScrollHintは動いてくれました。myscript.jsの読み込ませ方を次のように修正しました
7
6
 
8
7
  ```PHP
8
+ // myscript.jsを読み込む
9
+ wp_enqueue_script(
10
+ 'myscript',
11
+ get_template_directory_uri().'/js/myscript.js',
12
+ array(),
13
+ NULL,
14
+ true
15
+ );
16
+ ```
17
+ myscript.jsの出力先をtrueとすることでwp_footerからの出力となります。
9
18
 
19
+ それともう1点。
20
+ ScrollHintのJavaScript書き方にも少し手をくわえ、次のように書きました。
21
+ ```JavaScript
22
+ if(document.URL.match(/price/)) {
23
+ new ScrollHint('.price-table-plan', {
24
+ applyToParents: true,
25
+ i18n: {
26
+ scrollable: 'スクロールできます'
27
+ }
28
+ });
29
+ }
10
- ```
30
+ ```
31
+ 以前に書いたコードでは、料金(price)以外のページでもScrollHintが作動するため、料金以外のページでコンソールエラーが出ていました。
32
+
33
+ 今回のコードによりコンソールエラーが発生しないようになりました。