.toggle-item-(number here)
を.link(number here)
に切り替えるのが好きです。最初はすべて.toggle-item
が閉じています。同時に1つのトグル項目のみを表示する必要があります。新しいトグルアイテムが開くたびに、他の開いたトグルアイテムが閉じるはずです。コードとjQueryトグルが機能しません
リンクはこちらです:http://jsfiddle.net/rAUqb/
なぜjQueryのコードは動作しませんか?
.toggle-item-(number here)
を.link(number here)
に切り替えるのが好きです。最初はすべて.toggle-item
が閉じています。同時に1つのトグル項目のみを表示する必要があります。新しいトグルアイテムが開くたびに、他の開いたトグルアイテムが閉じるはずです。コードとjQueryトグルが機能しません
リンクはこちらです:http://jsfiddle.net/rAUqb/
なぜjQueryのコードは動作しませんか?
クリックしたときに、それは他の人を閉じてマークのコードを更新しました。
$(document).ready(function() {
$('[class^=toggle-item]').hide();
$('[class^=link]').click(function() {
var $this = $(this);
var x = $this.attr("class");
var className = '.toggle-item-' + x.replace('link', '');
$(className).toggle();
$('[class^=toggle-item]:not('+className +')').hide();
return false;
});
});
コードを更新しました。
番号を正しく取得できませんでした。
$(document).ready(function() {
$('[class^=toggle-item]').hide();
$('[class^=link]').click(function() {
var x = $(this).attr("class").replace('link', '');
$('[class^=toggle-item]:not(.toggle-item-'+x+')').hide();
$('.toggle-item-' + x).toggle();
return false;
});
});
xの値は完全なクラス名( "リンク1"、 "リンク2"、など)でした。私は単純に番号を持つために "リンク"部分を取り除いた。
Jquery accordionはお役に立てますか?
使用attr("class")
の代わりattr("classname")
これほど複雑である必要はありません。私の更新されたコードを見てください。 – Marc
それほど複雑ではありません。あなたの更新されたコードは同じアイテムを複数回クリックすると切り替えません。また、アイテムを表示してもアイテムを隠すことはありません – Contra
ありがとうございます - MarcとContra - あなたはどちらも解決に貢献しました – rabea