Bazı div'leri değiştirmeye çalışıyorum ve aynı zamanda linklerde "aktif" bir durum ayarlıyorum. Aşağıda benim kodum.jQuery geçiş sırası
$(".product_buy").hide();
$(".product_geo").hide();
$("a.buy, a.geo").click(function()
{
$("#" + this.className + "_" + this.rel).slideToggle("fast");
$(this).toggleClass("item_active");
if (this.className == "geo")
{
$("#info_" + this.rel).slideToggle("fast");
}
return false;
});
<ul class="title_menu">
<li class="item"><a href="javascript:void(0);" class="geo" rel="blabla" title="Toggle geometry">Geometry</a></li>
<li class="item"><a href="javascript:void(0);" class="buy" rel="blabla" title="Toggle purchase options">Buy</a></li>
</ul>
<div class="product_buy" id="buy_blabla">
<div class="block">
<p>Buy bla bla</p>
</div>
</div>
<div class="product_geo" id="geo_blabla">
<img src="geo_blabla.jpg" title="Bla bla geometry" width="750" height="857"/>
</div>
<div class="prod_info" id="info_blabla">
<p>Info bla bla</p>
</div>
Tümü aynı anda değil, aynı anda açılır. İki div "satın al" ve "geo" aynı anda gösteriliyor, ancak bağlantının "aktif" durumu şeyleri mahvediyor gibi görünüyor.
Ben bir kötüyüm, bu yüzden benimle dalga geçmekten çekinmeyin.
Düzeltme: Cevabı Nick'den görmeden önce çözdüm, bu yüzden çözümü muhtemelen daha iyi.
$(".product_buy").hide();
$(".product_geo").hide();
$("a.buy, a.geo").click(function()
{
var itemType = $(this).attr("rev");
var itemName = $(this).attr("rel");
$("#" + itemType + "_" + itemName).slideToggle("fast");
$(this).toggleClass("item_active");
if (itemType == "geo")
{
$("#info_" + itemName).slideToggle("fast");
}
return false;
});
Merhaba Nick, Cevabınız için çok teşekkür ederim! Bir cevap alıp almadığımı görmek için buraya geri dönmeden önce çözdüm. Çözümü ilk bakışta göreceğim. Tekrar teşekkürler! – Walker