2016-03-24 3 views
0

現在、画像プレビューが表示される3つの画像divと3つの説明divがあります。 col-md-4 product-quickviewをクリックすると、画像プレビューがdescription divに表示されます。メイクの説明divはクリック時に動的に表示されます

私はその時点で1つの画像しか表示しないので、私はHTMLで3つの画像記述divを持つことを躊躇しません。私は1つ動的に、

Working jsfiddle

$('.descriptions .panel').hide(); 
$('#grid .product-quickview').click(function(){ 
    var idx = $(this).parents('.col-md-3').index(); 
    var row = $(this).parents('.col-md-3').parent().next('.row'); 
    $('#grid img').removeClass('highlight'); 
    $(this).addClass('highlight'); 
    //$('.descriptions .panel').hide(); 
    row.find('.descriptions .panel').eq(idx).toggle("slow","swing"); 
}); 

は、だから私は達成しようとしている効果は3つのハードコード化された記述のdivを削除し、1つの動的人口のdivとそれらを交換することであるjQueryのコードによって移入ベースwan't画像プレビューをクリックします。

追加情報が必要な場合は、私にお知らせください。私が提供します。

+0

アンコメント://$('.descriptions .panel ')非表示();。それは最速の解決策です。動的な記述、もちろん、より良い解決策です。 –

+0

うん、あなたの '$( '。descriptions .panel')。hide();'は、なぜあなたはそれをコメントしますか? – Technoh

+0

はい、これは最速の解決策ですが、私はこの問題を解決することはできません。だから、誰かが別のプレビューをクリックしたときに画像をプレビューしたとしましょう。また、このトグル機能をshowまたはhideで変更する必要があるため、プレビューされた画像でプレビューをクリックすると、プレビューdivなどを閉じる必要があります。 –

答えて

1

私が探している機能については、あまり明確ではないかもしれません。 このバージョンには、現在表示されている画像/ descの1つの領域しかありません。最初に開くだけで、クリックに基づいて変更されます。画像の説明は、クリックした画像のデータタグdata-descにあります。

Working jsFiddle

+0

mm好きです。このようにして作業することも可能ですか?1.ユーザーがプレビュー画像をクリックします。 2画像はプレビューされます3.ユーザーは同じ画像プレビューを再度クリックします4.説明が終了します –

+0

確かに、私はもう一度それを更新しました。これは、画像srcによって識別されます。したがって、現在開いている画像の画像srcが同じであれば、それを閉じます。 – Nate

+0

もう1つ問題があります。画像がプレビューされ、他の画像プレビューをクリックします。説明が閉じます。これは自動的に次の画像プレビューを開くはずです –

関連する問題