caps'te, sarı div'im ana div. gri div'im ise açıklama div'i oluyor.
şimdi, gri div normalde display:none vaziyette durmakta.

ve ben bu iki div'i de veritabanımdan while ile bastırıyorum while(blabla){<div class='ana'></div><div class='aciklama'></div>} gibi.

o yüzden ne zaman kaç tane basılacakları belli değil. kimi zaman 5 tane, kimi zaman 50 tane geliyor ekrana.

neyse, ben dedim ki: ana div'ine tıklandığında aşağıda slideToggle şeklinde açıklama div'im açılsın. tıklayınca kapansın vs. bunun için de şu kodu yazdım:

$(".ana").live('click',function() {
var indis = $(this).index();
$(".aciklama:eq("+indis+")").slideToggle(200);

});
});

Ancak şöyle bir hata oldu: ekrana basılan 1. ana div'ime tıkladığımda gayet güzel bir şekilde hemen altına açıklaması açıldı.

Ancak 2. div'ime tıkladığımda ise, 3. div'in altına 3. div'in açıklaması basıldı.

3. ve 4. div'e tıkladığımda ise hiçbir sonuç vermedi. (toplam 4 div basılmıştı ekrana)

nerede yanlış yapıyorum acaba?

edit:

1. dive tıklayınca kendi altına.
2. dive tıklayınca 3. divin altına.
3. dive tıklayınca 5. divin altına
4. dive tıklayınca 7. divin altına açıyor "açıklama" div'ini. (ve 3. 5. 7. divin verilerini kullanıyor)

 

$(".ana").live('click',function() {
$(this).next(".aciklama").slideToggle();
});


jsfiddle.net

ocanal

@ocanal

çok teşekkür ederim. ben de sen yazar yazmaz aynı yöntemi keşfetmiştim :) çok çok teşekkür ederim.

tchuck
1

mobil görünümden çık