我正在開發一個交互式小說項目,允許用戶通過故事選擇多個路徑。我有一個與敘述(#bigtext)和一個包含三個選項的框(#Option1,#Option2,#Option3 - 全部用HTML span元素指定)並點擊一個選項激活一個函數,該函數同時更新文本和選擇故事的下一個「頁面」。每個「頁面」是一個不同的功能,這意味着我可以完全控制背景,因此刷新頁面是不可能的。如何用同一個按鈕啓動多個單獨的功能?
當我點擊一個選項時,它激活該功能。所有文本都會淡出,通過javascript進行更新,然後再次淡入。我的問題是,當我再次點擊按鈕時,它不僅調用所需的功能,而且還調用前一個按鈕所指定的功能。我附上了一個代碼示例來演示。
這是更新故事的功能。
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);
});
}
我重複這對於每個「頁」的故事,所以Prologue2是下一個功能或「頁」。
這裏是我的HTML,我想保留,因爲它是相當精簡的(我的眼睛反正)
<div id="bigtext"> </div>
<div id="optionsbox">
<span id="Option1"></span> <br/>
<span id="Option2"></span> <br/>
<span id="Option3"></span> <br/>
</div>
我發現的時候我去「Prologue2」當我點擊該選項時,它不僅調用「Prologue3」,而且還調用「Prologue2」,因爲我以前使用相同的按鈕來指定該功能。有沒有更好的方法可以解決這個問題,或者在使用之前以某種方式刪除之前的功能?
你可以把代碼放在它調用'Prologue3'的地方嗎? – Aruna