2011-01-04 2 views
1

私は同じクラスの2つのインスタンス(.attributes)を自分のhtmlに持っています。私は単にそれらの両方を同時に切り替えたいと思う。最初のインスタンスは期待通りに動作しますが、2番目のインスタンスは引き続きToggle open(スタイルはdisplay:blockのままです)。ToggleSlide同じクラスの2つのインスタンス - スライドは動作しますが、1回の非表示になります

両方の場所

<div class="attributes"> 
content to hide 
</div> 

で関連するHTML jQueryの

$(document).ready(function(){ 
    $('.attributes').hide(); 
    $('a#toggle-attributes').click(function() { 
     $('.attributes').slideToggle(1000); 
     return false; 
    }); 
}); 

私はそれを別の名前を与えることで、画像のうちの「作業」クラスを撮影したが、私は同じ結果を得ます。クラス内のdivと一緒に並べ替えられていないリストがあり、非表示に切り替えることはありません。

ご協力いただければ幸いです。 ありがとう!

+0

なぜあなたはfalseを返すとjqueryオブジェクトの通過を殺すのですか? – Babiker

+0

@Babiker:イベントハンドラからfalseを返すと、イベントのデフォルトの動作がキャンセルされ、コールバックの 'event'パラメータが使用されていない場合は、無視されます。 –

+0

あなたのJSは大丈夫だと思います。この例はhttp://jsfiddle.net/andrewwhitaker/h6xc4/です。あなたの場合は何が違うのですか? –

答えて

0

私は地元で次のように試みました。

<a id="toggle-attributes" href="#">toggle</a> 
<div class="attributes"> 
    content to hide 
</div> 
<br /> 
<br /> 
<br /><br /> 
<div class="attributes"> 
    content to hide 
</div> 

期待通りに機能しました。

0

OK - これは正しく設定されています。 2番目のインスタンスが隠れないようにするにはどうすればよいでしょうか?私が言ったように、それは元々.hide()を引っ張り、トグルスライド効果を行いますが、元に戻すことはありません。任意の提案をいただければ幸いです。

詳細情報:このコードは新しいピナクルカート店で使用されています。私は製品ページ(これは期待どおりにトグルされています)の領域(多くの選択肢を含むフォーム)の領域を隠しており、別の列に追加の画像を隠しています。ラップされたもののフォーマット(単純なテキストと現在のもの)を変更し、これが動作すれば結果を報告します。以前はこれを考えていたはずですが、まだjQueryにはまったく新しいものです。

ありがとうございました。