Danke für die Übermittlung der Fragen und Bilder. Als erstes fiel mir der folgende Versuch auf, das GIF neu zu starten:
<body onload ="loadimage("letters.008.gif")">
Das war als Text innerhalb eines Items eingetragen. Nachdem alle Items auf der Seite geladen werden, führt das einfach nur dazu, dass der HTML-Code der Seite ungültig wird. Denn es ist nur ein <body>
Tag erlaubt/sinnvoll.
Was Sie eigentlich suchen ist eine Möglichkeit, die JavaScript-Funktion zum Neustart des GIFs dann zu aktivieren, wenn ein neuer Stimulus sichtbar wird. Dafür unterstützt die Zuordnungsaufgabe seit einer Weile Events - spezifisch für ihren Fall "present". Weitere sind in der Anleitung zur Zuordnungsaufgabe erläutert.
Sie würden also folgenden JavaScript-Code verwenden, um eine Funktion restartGIF()
immer beim Erscheinen des Stimulus aufzurufen:
assignmentGL13.addEventListener("present", restartGIF);
Im Ereignis-Objekt haben Sie dann auch die Nummer des Items. Hier nur einmal zur Demonstration (bitte JavaScript-Konsole im Browser öffnen):
<script type="text/javascript">
function restartGIF(evt) {
console.log(evt.detail.item);
}
var question = document.getElementById("GL13_qst");
question.addEventListener("present", restartGIF);
</script>
Damit es funktioniert, müssen Sie Ihren <img>
-Tags bitte IDs geben, also z.B. für Ihr erstes Item bzw. dessen "Text"
<img src="letters.007.gif" style="max-width: 100%" id="GL13_1">
Tun Sie sich den Gefallen und nummerieren Sie einfach am Ende entsprechend der Itemnummer durch. Also GL13_1 für das GIF im ersten Item, GL13_2 für das GIF im zweiten Item u.s.w.
Jetzt können wir den JS-Code verwenden, der dem Bild zunächst sein RC entzieht und dann wieder gibt. Sieht zusammen aus wie folgt:
<script type="text/javascript">
function restartGIF(evt) {
var imgID = "GL13_" + evt.detail.item;
var img = document.getElementById(imgID);
if (img) {
var filename = img.src;
img.src = "";
img.src = filename ;
}
}
var question = document.getElementById("GL13_qst");
question.addEventListener("present", restartGIF);
</script>
In meinem ersten Test funktioniert das überraschend gut :) Ich habe bisher aber nur in Firefox getestet.