2017-01-27 14 views
1

Wordpressのサイトでチェックボックスをオンまたはオフにして、異なるテーブル(Wordpressショートコード)で異なるdivを表示しようとしています。 コードはjsfiddleで正常に動作しますが、チェックボックスを使用しても私のWebサイトでは何も起こりません。私は、divに異なるshortcodesを含めることを望みます。多分それには関係がありますか?(Javascript/Wordpress)チェックボックスをオン/オフにしたときに異なるコンテンツを表示

Javascriptを:

$(document).ready(function() { 

$("#overlay-1").change(function() { 
$(".overlay-1").toggleClass("hide1337", this.unchecked) 
$(".overlay-2").toggleClass("hide1338", this.unchecked) 
}).change(); 

$("#overlay-1").change(function() { 
$(".overlay-2").toggleClass("hide1337", this.unchecked) 
$(".overlay-1").toggleClass("hide1338", this.unchecked) 
}).change(); 


}); 

CSS

.hide1337 { 
display: none; 
} 

.hide1338 { 
display: show; 
} 

HTML

<div id="nav"> 
<input type="checkbox" name="overlay-1" id="overlay-1"> Checkbox 
<br/> 
</div> 
<div class="overlay-1"> 
<br>shortcode2</div> 
<div class="overlay-2"> 
<br>shortcode2</div> 

http://jsfiddle.net/p6hFD/16/

+0

あなたの質問に[mcve]を投稿して、問題の内容をお知らせください。また、ブラウザのコンソールにエラーがないかチェックしましたか? – j08691

+0

これに関連するコンソールにエラーは見つかりません。どんな情報が必要ですか? – Oskar

+0

jsFiddleでコードが正常に動作する場合は、そのコードだけで問題はなく、WordPressとの間に競合があるはずです。私はWordPressが '$'の代わりに 'jQuery'を使うと信じています。 '$'を変更しようとしましたか?また、WordPressでjQueryをどのように読み込んでいますか? functions.phpで?プラグイン? – j08691

答えて

0

ここのJavascriptの必要はありません。擬似セレクタ:checkedと兄弟セレクタ~を利用して、純粋なCSSで行く

.overlay-1, .overlay-2 { 
 
    display: none; 
 
} 
 
#overlay-1:not(:checked) ~ .overlay-1 { 
 
    display: block; 
 
} 
 
#overlay-1:checked ~ .overlay-2 { 
 
    display: block; 
 
}
<input type="checkbox" name="overlay-1" id="overlay-1"> Checkbox 
 
<div class="overlay-1"> 
 
<br>shortcode1</div> 
 
<div class="overlay-2"> 
 
<br>shortcode2</div>

注: このチェックボックスと非表示にしたいコンテンツコンテナを動作するように/ショーを持っている必要がありますについて同じ親要素とコンテンツコンテナがチェックボックスの後に来なければなりません。

+0

ありがとうございます。うーん、これではdivのいずれもチェックもチェックもされていないことは表示されない。たぶん私は間違ったことをしているのかもしれない – Oskar

+0

このメモを読んだことがありますか? – connexo

+0

ああ、メモを逃した...今はすべて正常に動作します。ありがとうございました! – Oskar

関連する問題