J'essaie de basculer certains divs et en même temps définir un état "actif" sur les liens. Voici mon code.jQuery ordre de bascule
$(".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>
Il bascule, mais pas tous en même temps. C'est correct si les deux divs "buy" et "geo" sont montrés en même temps, mais l'état "actif" du lien semble gâcher les choses.
Je suis un noob, alors n'hésitez pas à me moquer de moi. Edit: Résolu avant que j'ai vu la réponse de Nick, donc sa solution est probablement meilleure.
$(".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;
});
Salut Nick, Merci beaucoup pour votre réponse! J'apprécie vraiment Je l'ai résolu avant que je ne revienne ici pour voir si j'avais reçu une réponse, je vais jeter un coup d'œil à votre solution dès le matin, merci encore! – Walker