AboOMedlem sedan juni 2002191 inlägg Jag har en FAQ-sida där man klickar på frågan, då öppnas själva svaret på frågan. Kolla på t.ex. http://www.silverklubben.se/faq.html
Scriptet ser ut så här:
function displayLayer(which) {
obj = document.getElementById(which);
obj.style.display == "block" ? obj.style.display = "none" : obj.style.display = "block";
}
Sedan använder man det det så här:
<a href="#" onClick="displayLayer('p2'); return false;">
Nu skulle jag vilja ändra på det så att när man klickar på en fråga, då ska alla öppna frågor stängas. Som det är nu kan man öppna alla frågor men jag vill alltså att bara en fråga ska kunna vara öppen samtidigt. Någon som kan hjälpa mig med det?
<script type="text/javascript">
function displayLayer(which) {
for (var i=1, obj=document.getElementById('p'+i); obj != null; i++,obj=document.getElementById('p'+i) ){
if (('p'+i) == which){
obj.style.display == "block" ? obj.style.display = "none" : obj.style.display = "block";
}else{
obj.style.display = "none";
}
}
}
</script>
Du måste loopa igenom alla dina object som kan visas/döljas. Använder du något ramverk, t.ex. jQuery?
Om du gör det och alla divar har samma classnamn, så kan du köra följande funktion:
displayLayer(which){
$('.klassnamn').hide();
var $obj = which;
$(obj).show();
}
Otestat, men bör fungera...
// RED
Nu var visst nitro2k01 lite snabbare på att skriva... typiskt... :)