====== Informationen per Mausklick einblenden ====== Mitunter ist es hilfreich, wenn der Teilnehmer zusätzliche Informationen((einen kurzen Text wie diesen hier)) bei Bedarf einblenden kann. Je nach Anwendung sind dafür unterschiedliche Lösungen geeignet: - Einzelne Wörter erklären Sie am einfachsten mit einem Tooltip (s. unten) - Wenn es darum geht, Textpassagen auf einen Mausklick hin anzuzeigen, verwenden Sie die [[:de:create:accordion|Akkordeon-Funktion]]. - Wenn Sie von einem längeren Text zunächst nur einen Teil zeigen möchten, folgen Sie der Anleitung [[:de:create:morebox]] - Wenn Sie einen umfangreichen Text als Zusatzinformation verfügbar machen möchten, können Sie diesen mittels ''[[:de:create:functions:textlink|textlink()]]'' in einem eigenen PopUp-Fenster öffnen. Darüber hinaus können Sie mittels [[:de:create:javascript|JavaScript]] nach Belieben Texte, Informationen, Items oder ganze Fragen auf einen Klick des Befragten hin einblenden. Auch können Sie im Datensatz speichern, ob eine solche Information angeklickt wurde. ===== Tooltip bei Berührung I ===== SoSci Survey erkennt doppelte Klammern als Markierung für zusätzlich Informationen. Dabei kann entweder ein Begriff im Text auf die Mausberührung reagieren oder es wird ein Info-Symbol eingeblendet. Die doppelte Klammer wird verwendet wie folgt: ((Titel|Erklärung)) Wird als Titel ein Asterisk (''*'') eingetragen, wird ein Info-Symbol angezeigt. In den folgenden Beispielen reagiert einmal das Wort "erklärungsbedürftiges" auf die Mausberührung, und einmal ein Info-Symbol hinter dem Satz. Dies ist ein ((erklärungsbedürftiges|Mit "erklärungbedürftig" ist gemeint, dass man den Inhalt nicht unmittelbar versteht.)) Item. Dies ist ein erklärungsbedürftiges Item. ((*|Mit "erklärungbedürftig" ist gemeint, dass man den Inhalt nicht unmittelbar versteht.)) Das Info-Symbol und die Formatierung der Information können im Fragebogen-Layout mittels CSS-Anweisungen im HTML-Template angepasst werden. Dazu werden die CSS-Anweisungen im Bereich //Tooltip// aus dem Fragebogen-Stylesheet überschrieben. ===== Tooltip bei Berührung II ===== Eine weitere Lösung besteht darin, das HTML-Attribut //title// für zusätzliche Informationen zu verwenden. Hierbei wird ebenfalls eine kurze Information angezeigt, wenn der Teilnehmer mit der Maus über einem Wort verweilt -- allerdings erst nach einer kurzen Verzögerung. Das Wort selbst kann ggf. mittels ''style''-Attribut visuell hervorgehoben werden.

Hier ist der Text mit einem erklärungsbedürftigen Wort.

Wenn die Information direkt in einem Item erscheinen soll, setzen Sie das ''''-Tag einfach direkt in den Itemtext an die passende Stelle. Bei Sonnenschein bin ich lieber draußen als dass ich an Onlinebefragungen teilnehme. **Hinweis:** Die Darstellung der ''title''-Information obliegt dem Browser des Teilnehmers. Sie haben keinen Einfluss darauf, wie schnell die Information angezeigt wird und in welcher Formatierung. ===== Information per Mausklick ===== Der Inhalte einer Website (und damit einer Fragebogen-Seite) kann mittels JavaScript dynamisch verändert werden. Eine sehr einfache Veränderung ist das Ein- und Ausblenden von Inhalten. Die Information wird also regulär eingebunden, bleibt aber zunächst unsichtbar. Wenn Sie die nachfolgenden Lösungen verwenden, benötigen Sie [[:de:glossary#javascript|JavaScript]] -- die Umsetzung wird also ein wenig anspruchsvoller, aber dafür haben Sie volle Kontrolle darüber, wie und wann die Information angezeigt wird. ==== Umsetzung ==== Speichern Sie folgenden HTML-Code als Textbaustein und ziehen sie diesen in die Fragebogen-Seite. Die eigentliche Information müssen Sie natürlich selbst eintragen. Formatierungen mit HTML sind möglich. **Hinweis:** Der folgende Code eignet sich nur zur Anzeige eines Info-Knopfes pro Fragebogenseite. Code für mehrere Knöpfe s. unten.
Hier kommt die Zusatz-Info

==== Knopf frei platzieren ==== Der Anzeige-Knopf (im obigen Beispiel am Ende des Codes) kann auch an beliebiger anderer Stelle im Fragebogen (z.B. direkt im Frage-Text) platziert werden. Statt des Textes kann man auch ein Bild verwenden. Das Bild müssen Sie natürlich zunächst in das Befragungsprojekt hochladen. ==== Wort berühren statt Knopf drücken ==== Mit einer kleinen Modifikation kann man auf den Klick auch verzichten und eine Info-Box anzeigen, wenn der Benutzer mit der Maus über ein Wort fährt: Wenn Sie eine Erklärung benötigen, fahren Sie mit der Maus über das markierte Wort.
Hier steht eine zusätzliche Information.
Der JavaScript-Code ist derselbe wie oben und muss noch an den HTML-Code angehängt oder an beliebiger Stelle auf der Seite platziert werden. ==== Benutzung speichern ==== Sie können im Datensatz auch abspeichern, ob die Information angezeigt wurde. Dafür benötigen Sie eine [[:de:create:questions:internal|interne Variable]]. Die Frage zur internen Variable ziehen Sie über dem Info-Textbaustein in die Seite. var info = document.getElementById("infoBox"); var intVar = document.getElementById("AB01_01"); // Hier muss die Kennung der internen Variable eingetragen werden info.style.display = "none"; // Box ausblenden intVar.value = "1"; function buttonShow() { // Infobox anzeigen info.style.display = ""; // Abspeichern, dass der Button angeklickt wurde intVar.value = "2"; } function buttonHide() { // Infobox wieder ausblenden info.style.display = "none"; } ===== Mehrere Infos auf einer Seite ===== Die obigen Code-Beispiele können pro Seite jeweils nur eine Information einblenden. Falls Sie mehrere Info-Knöpfe auf einer Seite platzieren möchten, können Sie nachfolgenden Code verwenden. Den ersten Code speichern Sie als Textbaustein. Diesen Textbaustein fügen Sie __einmal__ (an einer beliebigen Stelle __vor__ dem weiteren JavaScript-Code) in die Fragebogen-Seite ein. Den zweiten Code wiederholen Sie für jeden Knopf inkl. Infobox. Dabei müssen Sie nur die HTML-Kennungen (''id'') von Knopf und Infobox anpassen. Also z.B. ''infoButton2'', ''infoBox2'' und ''infoClose2''.
Hier kommt die Zusatz-Info

Den dritten Code platzieren Sie einmal am Ende der Fragebogen-Seite. Hier müssen Sie nur die letzte Zeile für jede Infobox wiederholen und die entsprechenden Kennungen einsetzen. ==== Bilder vergrößern ==== Wenn Sie ein Bild als Knopf verwenden und beim Klick eine größere Version desselben Bilds anzeigen, können Sie mit der Funktion auch ein Bild vergrößern. Sie müssen sich lediglich um HTML-IDs für die Bilder und die Positionierung der großen Bildversion kümmern:
Das obige Beispiel verzichtet auf einen gesonderten Knopf zum Schließen des großen Bildes -- ein Klick auf die vergrößerte Version reicht. ==== Info-Nutzung speichern ==== Falls Sie speichern möchten, ob ein Info-Knopf angeklickt wurde, benötigen Sie zunächst interne Variablen. Legen Sie dazu im Fragenkatalog eine neue Frage vom Typ [[:de:create:questions:internal|interne Variablen]] an. In dieser Frage legen Sie so viele Variablen (Items) an, wie Sie Info-Boxen überwachen möchten. Ziehen Sie diese Frage __vor__ dem JavaScript-Code in die Fragebogen-Seite. Modifizieren Sie den dritten Code (s. oben), indem Sie zusätzlich die Kennungen der internen Variablen angeben, in welche die Benutzung gespeichert werden soll. Zum Beispiel: Die Variablen speichern dann, wie oft (beginnend mit 0) die Info-Box geöffnet wurde. ==== Öffnen bei Berührung ==== Um eine umfangreichere Infobox anzuzeigen -- sofort, nicht erst nach einem kurzen Moment -- modifizieren Sie den obigen Code. Damit die Information nicht per Klick, sondern per Berührung angezeigt wird, ändern Sie im ersten Code folgende beiden Zeile am Ende: // Knopf aktivieren (Öffnen/Schließen per Klick) SoSciTools.attachEvent(button, "click", clickButton); SoSciTools.attachEvent(close, "click", clickClose); // Knopf aktivieren (Öffnen/Schließen per Mausberührung) SoSciTools.attachEvent(button, "mouseover", clickButton); SoSciTools.attachEvent(button, "mouseout", clickClose); Beim zweiten Code entfernen Sie den Knopf zum Schließen. Im folgenden Beispiel wird kein Knopf, sondern ein Text zum Anzeigen der Infobox verwendet: Mehr Info
Hier kommt die Zusatz-Info
Im dritten Code geben Sie die HTML-ID des Knopfes bzw. des Textes zweimal an: