Simplicityの特徴 › フォーラム › テーマファイルのカスタマイズに関する質問など › Jqueryのスクリプトが動作しないのですが
-
投稿者投稿
-
-
2014年10月28日 11:28 PM #5204
hyne
ゲストはじめまして。
Simplicityをダウンロードさせていただきました。
Hタグからリストメニューを表示させるカスタマイズを行っているのですが、動作しません。
外部読み込みにしてもヘッダー内に記述しても同様です。
何か分かりましたら、教えていただけますでしょうか。
Jqueryはちゃんと出力されているようですし、Twenty Fourteenなどでは問題なく動作します。
お手数ですが、よろしくお願いします。<script> jQuery(function(){ var idcount = 1; var toc = ''; var currentlevel = 0; jQuery("h3:header",this).each(function(){ this.id = "chapter-" + idcount; idcount++; var level = 0; if(this.nodeName.toLowerCase() == "h3") { level = 1; } else if(this.nodeName.toLowerCase() == "h4") { level = 2; } while(currentlevel < level) { toc += '<ol class="chapter">'; currentlevel++; } while(currentlevel > level) { toc += "<\/ol>"; currentlevel--; } toc += '<li><a href="#' + this.id + '">' + jQuery(this).html() + "<\/a><\/li>\n"; }); while(currentlevel > 0) { toc += "<\/ol>"; currentlevel--; } jQuery("#toc").html(toc); }); </script> -
2014年10月29日 7:58 AM #5233
わいひらキーマスターコードをコピペして以下のようにentry-body.php内に貼り付けてみたのですが.動作はするようですよ。
とりあえず、jQueryが動作してないということないと思います。
何かJavaScript関係を縮小したり、呼び出し位置を変更したり.何かいじるプラグインは入っていないでしょうか?<script> jQuery(function(){ var idcount = 1; var toc = ''; var currentlevel = 0; jQuery("h3:header",this).each(function(){ this.id = "chapter-" + idcount; idcount++; var level = 0; if(this.nodeName.toLowerCase() == "h3") { level = 1; } else if(this.nodeName.toLowerCase() == "h4") { level = 2; } while(currentlevel < level) { toc += '<ol class="chapter">'; currentlevel++; } while(currentlevel > level) { toc += "<\/ol>"; currentlevel--; } toc += '<li><a href="#' + this.id + '">' + jQuery(this).html() + "<\/a><\/li>\n"; }); while(currentlevel > 0) { toc += "<\/ol>"; currentlevel--; } jQuery("#toc").html(toc); }); </script> <div id="toc"></div> -
2014年10月29日 11:04 AM #5240
hyne
ゲストご確認いただき、本当にありがとうございます。
たしかにbody内にスクリプトを書くと動作しますね。
しかし、ヘッダー内や外部読み込みとした場合に動作していないようです。
これはなぜでしょうか?
もはや、このテーマと関係なさそうな話ではありますが、お時間あれば教えてくださいますでしょうか?
よろしくお願いします。 -
2014年10月29日 11:59 AM #5244
hyne
ゲスト追記です。
プラグインはすべて切った状態です。
また、カスタマイズは上記のスクリプトのみです。 -
2014年10月29日 12:47 PM #5245
わいひらキーマスターしかし、ヘッダー内や外部読み込みとした場合に動作していないようです。
これはなぜでしょうか?僕は、JavaScriptの動作にそこまで詳しくないので原因まではわからないです。けれど、テーマのせいではないと思います。
ただ、外部ファイルのjavascript.jsに以下のように入力するとちゃんと表示されるので、外部ファイルのJavaScriptは動作しているようです。
jQuery(function(){ jQuery("#toc").html('toc'); });あと、コードを追ってまでの動作確認はしていないですけど、以下の部分を
jQuery("h3:header",this).each(function(){次のように書き換えたら、表示はされるようです。
jQuery("h3",this).each(function(){ -
2014年10月29日 3:47 PM #5252
hyne
ゲストわざわざ恐縮です。
>次のように書き換えたら、表示はされるようです。
これはヘッダー内に書いてもということでしょうか?
もう少し自分で検証してみますね。
本当にありがとうございます。
-
2014年10月29日 6:22 PM #5259
わいひらキーマスターこれはヘッダー内に書いてもということでしょうか?
外部ファイル(javascript.js)に書いてもということです。
-
2014年10月29日 9:12 PM #5274
hyne
ゲスト解決しました。
再度、確認したところ、ヘッダーのテンプレートにスクリプトを書いていてもなぜか実際に出力されていないようでした。
もう一度、テーマを入れ直したら、何の問題もなく動作しました。
つまらないことで大変、お手数をお掛けしましたが、お付き合いくださり、ありがとうございました。
それにしてもよいテーマですね! -
2014年10月29日 9:59 PM #5278
わいひらキーマスターありがとうございます!
テーマを入れなおしたら動作するなんてこともあるんですね。
JavaScriptはやっぱ奥が深いというか.難しいというか、苦手というか。
けど、問題が解決してよかったです!
-
-
投稿者投稿
- トピック「Jqueryのスクリプトが動作しないのですが」には新しい返信をつけることはできません。