-
投稿者投稿
-
2019年10月15日 3:42 AM #30597
トピックを新しく立てる方は次の項目も記述してください(要望トピックの場合は不要です)。
【お使いの Snow Monkey のバージョン】最新版
【お使いのブラウザ】chrome
【当該サイトのURL】https://kimsweddingmovie.com/===
外部Jsの読み込み方ですが、以下の方法で間違いないでしょうか?
// ふんわりアニメーション add_action( 'wp_enqueue_scripts', function() { wp_enqueue_script( 'effect-fade', '/wp-content/themes/snow-monkey/assets/js/common.js', [], false ); } );
よろしくお願いします。
♥ 0いいねをした人: 居ません2019年10月15日 8:31 AM #30608読み込み方はあっていますが、
common.js
ファイルの配置場所が不適切です。僕がカスタマイズのコードを My Snow Monkey プラグインや追加 CSS に書くことを推奨しているのは、テーマに直接ファイルを配置したりコードを書くと、テーマをアップデートしたときにそれらのファイルやカスタマイズがすべてなくなってしまうからです。アップデートのときは、一度テーマ内のファイルがすべてネット上にある最新のファイルに置き換えられるためです(プラグインや WordPress コアの場合も同様)。
そのため、上記の
common.js
ファイルは My Snow Monkey の中に配置して呼びだすのが良いです。♥ 0いいねをした人: 居ません2019年10月15日 10:49 AM #30627スクリプトの配置を以下に変更しました。
/wp-content/plugins/my-snow-monkey/assets/js/common.js
よくある、下からふわっとあらわれる表現のためのコードなのですが、うまく動作しません。
サポートスコープから離れるかもしれませんが、何か原因として考えられることはありませんでしょうか♥ 0いいねをした人: 居ません2019年10月15日 11:48 AM #30638ブラウザのコンソールを確認してみてください。
Uncaught TypeError: $ is not a function
というエラーがでています。おそらく
$(function() { 〜 } );
のようなコードを書かれているのではないかと想像しますが、WordPress の jQuery はいきなり
$
を参照することができなくなっています(おそらくコンフリクトを防ぐため)。もしそうであれば、jQuery(function( $ ) { 〜 } );
のように変更すると動くはずです。
♥ 0いいねをした人: 居ません2019年10月15日 9:43 PM #30704window.onload = function() { scroll_effect(); jQuery(window).scroll(function(){ scroll_effect(); }); function scroll_effect(){ jQuery('.effect-fade').each(function(){ var elemPos = $(this).offset().top; var scroll = $(window).scrollTop(); var windowHeight = $(window).height(); if (scroll > elemPos - windowHeight){ jQuery(this).addClass('effect-scroll'); } }); } };
jQueryにかえたところが、もともと$だったところなのですが、動きません。
でもいい加減、snow-monkeyのことじゃないので、あれですよね
いろいろやってみますありがとうございました。
♥ 0いいねをした人: 居ません2019年10月15日 11:53 PM #30714そうですね、Snow Monkey のサポートではなくなっているのであれですが…
$
が残っているので全部jQuery
に変えると動かないですかね?僕が上で
jQuery(function( $ ) { 〜 } );
と書いたのは、ググればすぐでてきますが、
$
をグローバルスコープに影響しない形で使う方法になります。ちょっとご提示のコードの場合だとwindow.onload = function() {}
で囲ってあるのでややこしいかもですが、WordPress で jQuery を使う場合は僕の提示した上のコードで全体を囲って、その中で$
を使うのが標準的な手法だと思います。Snow Monkey のサポートの範疇ではないので詳しくはググってもらえればと思います。♥ 0いいねをした人: 居ません -
投稿者投稿
- トピック「外部JSの読み込み方」には新しい返信をつけることはできません。