Ich arbeite an einem interaktiven Fiction-Projekt, bei dem der Benutzer mehrere Wege durch die Geschichte wählen kann. Ich habe ein div mit der Erzählung (#bigtext) und eine Box mit drei Optionen (# Option1, # Option2, # Option3 - alle mit HTML span elements) und das Klicken auf eine Option aktiviert eine Funktion, die sowohl den Text als auch den Text aktualisiert Optionen für die nächste "Seite" der Geschichte. Jede "Seite" ist eine andere Funktion, was bedeutet, dass ich die volle Kontrolle über den Hintergrund haben kann. Eine Aktualisierung der Seite kommt also nicht in Frage.Wie starten Sie mehrere separate Funktionen mit der gleichen Taste?
Wenn ich auf eine Option klicke, wird die Funktion aktiviert. Der gesamte Text wird ausgeblendet, wird über Javascript aktualisiert und dann wieder eingeblendet. Mein Problem ist, dass wenn ich erneut auf die Schaltfläche klicke, es nicht nur die gewünschte Funktion aufruft, sondern auch die, die für die vorherige Schaltfläche bestimmt ist. Ich habe ein Beispiel des Codes beigefügt, um zu demonstrieren.
Dies ist die Funktion, die die Geschichte aktualisiert.
function Prologue(){
//Narrative Goes Here
document.getElementById("bigtext").innerHTML = "STORY HERE";
//Options/Inputs go Here
document.getElementById("Option1").innerHTML = "CONTINUE";
document.getElementById("Option2").innerHTML = "";
document.getElementById("Option3").innerHTML = "";
//Entrance animations go here
$("#bigtext").delay(1500).fadeToggle(1000);
$("#optionsbox").delay(2000).fadeToggle(1000);
//On Option Clicked
//Option 1
$('#Option1').mouseup(function() {
$("#bigtext").fadeToggle(1000);
$("#optionsbox").fadeToggle(1000);
setTimeout(Prologue2, 1500);
});
}
ich wiederhole dies für jede „Seite“ der Geschichte, so Prologue2 die nächste Funktion oder „Seite“ ist.
Hier ist mein HTML, die ich, da es ziemlich rationalisierte (ohnehin in meinen Augen)
<div id="bigtext"> </div>
<div id="optionsbox">
<span id="Option1"></span> <br/>
<span id="Option2"></span> <br/>
<span id="Option3"></span> <br/>
</div>
ich, dass ich auf „Prologue2“ erhalten, indem die Zeit gefunden habe, ist halten möchten, es ruft nicht nur "Prologue3" auf, wenn ich auf die Option klicke, sondern auch "Prologue2", da ich zuvor dieselbe Taste benutzt habe, um diese Funktion zu bezeichnen. Gibt es einen besseren Weg, auf dem ich das machen könnte oder die vorherige Funktion entfernen könnte, nachdem sie benutzt wurde?
Können Sie den Code wo es 'Prologue3' nennt? – Aruna