サポート » 使い方全般 » jqueryが動かない

  • お世話になっております。

    htmlサイトからwordpressに移行するにあたり、特定のjsが動かなくて困っています。
    移行前は正常に動いていたものが、wordpressに合わせ呼び出すと動かなくなる原因は
    どのようなことが考えられますでしょうか。

    <?php wp_enqueue_script('script4',get_template_directory_uri() . '/js/jquery.superslides2.js', array(), '1.0'); ?>

    上記のような記述で呼び出しています。
    また、複数ある他の.jsは正常に動作しているものもあります。

    よろしくお願いいたします。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • こんにちは

    依存するスクリプトを指定してみてどうですか?

    <?php wp_enqueue_script('script4',get_template_directory_uri() . '/js/jquery.superslides2.js', array('jquery'), '1.0'); ?>

    ありがとうございます。

    指定してみましたが、ダメなようです。。

    jsの中身を修正しないといけないのですかね・・

    WordPress同梱のjQueryだと、noConflictモードになっているので、

    https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_enqueue_script#jQuery_noConflict_.E3.83.A9.E3.83.83.E3.83.91.E3.83.BC

    外部からもってきたjsの場合は、修正が必要なケースがありますね。

    jQueryのバージョンがずれていて特定関数が既に無くなっている可能性もあります

    <script src=”./js/jquery-migrate-1.2.1.js” type=”text/javascript”></script>

    をJQuery本体の呼び出しの後に追加されると過去の関数が一部正常に動作するようになります

    $(function())などと書かずに、jQuery(function())という風に、$をjQueryに書き換えるとうまくいくと思います。

    モデレーター Seisuke Kuraishi (tenpura)

    (@tenpura)

    以下、WordPress 独自のやり方を説明してあります。確認して必要な修正を行ってください。

    Fumito MIZUNO様、wordpressdr様、muryagu様、Seisuke Kuraishi様
    ご連絡ありがとうございます。

    上記ご指摘を、自分なりに試してみたのですが進展がありません。そもそも私自身がはじめてjQueryなるものを見ているので、ご指摘の取り入れ方に不備があるものと思います。

    ちなみに、

    $(function() {
        $("#gnav ul li").hover(function(){
            $(this).find("ul").stop().slideToggle();
        });
        $("#breadcrumbs ol li:first-child a img").hover(function(){
    		var imgHome = $(this).attr("src");
    		imgHome = imgHome.replace(/img_home.gif/g , "img_home_on.gif");
    		$(this).attr("src",imgHome);
        },
    	function(){
    		var imgHome = $(this).attr("src");
    		imgHome = imgHome.replace(/img_home_on.gif/g , "img_home.gif");
    		$(this).attr("src",imgHome);
        });
    });

    は機能しているのですが、別.jsファイルのsuperslides(トップページの画像を表示・スライドさせる)というファイルが機能していないようなのです。中身は長いのでここでのアップはさけたいのですが、やはり上記のようなご指摘を正しく反映する他ないのでしょうか?

    superslides.cssは読み込めているでしょうか?

    また、githubではWordPressで使った場合に発生した問題について報告されているようです。
    3年前ですがopenのままなので、修正はされていない様子です。

    https://github.com/nicinabox/superslides/issues/138

    使ったことがないライブラリですので効果的なアドバイスができず、申し訳ありません。

    munyagu様

    ありがとうございます。
    一つのcssにまとめてしまっていますが、他部分のスタイルは適用されているので読み込めているはず・・です。

    上記urlありがとうございます。wordpress特有の現象の可能性があるんですね、参考になります!

    function.phpに

    //---------------------------------------------------------------------------
    // jQueryを使えるようにする
    //---------------------------------------------------------------------------
    function add_jquery_scripts() {
        if(is_admin()) return;
        wp_deregister_script( 'jquery');
        wp_enqueue_script( 'jquery', get_template_directory_uri() . '/js/jquery-1.11.2.min.js', array(), false, false);
        wp_enqueue_script( 'jquery-mig', get_template_directory_uri() . '/js/jquery-migrate-1.2.1.min.js', array(), false, false);
    }
    add_action('wp_enqueue_scripts', 'add_jquery_scripts');

    上記のような内容を記載したところサーバへのアクセスすらできなくなりました。(FTPで上記を削除したところ戻りましたが。。)

    こんにちは、

    naocさん functions.phpですよね、PHPは<?php?>の間に記述する事になっています。

    それは、本当にPHPの基礎的な事で、「サーバへのアクセスすらできなくなりました。」と言われても、「そこからかよ」という話になってしまいます。

    ワードプレスで、このスクリプトが動くかどうかというと、動くと思います。

    wp_enqueue_scriptや、get_header(),get_footer()WordPress特有の処理したもの、

    スライダーサンプルそのまま

    どちらも動作していますよね

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック「jqueryが動かない」には新たに返信することはできません。