Frage und Antwort

Zielsetzung

In einer FAQ-Liste sollen zunächst nur die Fragen angezeigt werden. Die Antwort soll beim Klick auf die Frage erscheinen.

Realisierung

Die Fragen und Antworten werden mit IDs versehen:

<h2 id="q1">Frage eins?</h2>
<p id="a1">Antwort auf Frage eins.</p>

<h2 id="q2">Frage zwei?</h2>
<div id="a2">
<p>Antwort auf Frage zwei.</p>
<p>Diese Antwort fällt etwas länger aus.</p>
</div>

Das folgende Skript wird am Ende der Seite eingebettet oder beim Laden der Seite gestartet. Es sucht zunächst die Antworten und blendet diese aus. Dann werden die Fragen neu formatiert und mit einem Eventhandler versehen.

//Q'n'A (c)'09 F.Perder
var e=document.getElementsByTagName("h2");
for (i=0;i<e.length;i++){if (e[i].id.substr(0,1)=="q"){
var c=document.createAttribute("onClick");
var a="a"+e[i].id.substr(1,3);
var sbg=e[i].style.background;
//Answer:
document.getElementById(a).style.display="none";
c.value="document.getElementById('"+a+"').style.display='block';";
//Question:
e[i].style.color="#00f";
e[i].style.background="url(/arrow_down.gif) no-repeat right";
c.value+="this.style.color='#000';";
c.value+="this.style.background='"+sbg+"'";
e[i].setAttributeNode(c);
}}

Beispiel

Die FAQs von Q-note verwenden dieses Skript.

Skripte • © 2009 Computerhilfe Fabian Perder • www.chfp.de/skripte
Stats