2016-06-22 11 views
-5

こんにちは、この非常に単純なコードをURLに基​​づいてWordPressのテーマのトップナビゲーションに追加し、余分なクラスを追加しました。特にその効果は(Javascriptが遅いロードする要素)に装飾を加えることで a)の最適化/効率:Safariのlocation.hrefと最適化の問題を解決するための追加のクラスを追加するWordpress

<script type="text/javascript"> 
     var ispost = false; 

$(document).ready(function() { 
    if(window.location.href.indexOf("Page") > -1 && ispost) 
    { 

$("nav ul li:contains('Page')").css("text-decoration", "underline").addClass('current-menu-item current_page_item active'); 
    } 
}); 
</script> 

これは二つの問題をもたらしています。 b)ipad/iosのSafariで、wordpressの基本的なナビゲーションと装飾に追加するクラス 'current-menu-item current_page_item active'を失っています。

あなたのおまじないしかし、私の質問は、どのようにコードを最適化して、サファリに追加クラスを持たせるのですか?どこが間違っていますか?より良いアプローチがありますか?

+4

すべて太字で入力しないでください。それは読みにくくなり、質問が無視される可能性が高くなります。 – AlBlue

+0

また、タイトルをキーワードで汚染しないでください。それはタグのためのものです。 – Turnip

+0

私はそれが何かをダウンロードすることにどのように影響を与えるか分かりませんか?しかし、あなたが最適化= PHP +キャッシュ結果を望むなら...それはすべてのプラットフォームで動作します – David

答えて

0

これはJavaScriptを必要としないように見えますが、これはCSSでのみ行うことができます。あなたは、必要があるaddClass -methodについては

.page-1234 nav ul li:contains('Page') { 
    text-decoration: underline; 
} 

WordPressはbody要素にクラスを追加しますので、あなたは、ある特定のページを探しているなら、そのページのIDを取得し、このCSSを使用します実際にJSではなくPHPでこれをやっています。

+0

それは素晴らしいエミールです!しかし、悲しいことに、そのページをそのページ階層のみに特有のポストとして識別するために条件付きが必要です!だから、a)ページはそれ自身のスタイリングで単独で立っている。b)投稿がそのページ階層に属していれば、同様の方法でスタイル付けされる。しかし、現在のWordPressのナビゲーションでは、特定のページに投稿を関連付けることはできません。したがって、条件付きコードとアドバイスを求める! – danso

関連する問題