簡體   English   中英

跑步比分/測驗游戲

[英]Running Score / Quiz game

我是一個初學者,我正在研究這個測驗類型的程序。 它需要詢問預先創建的問題,然后檢查您是否獲得了正確的答案,調整跑步成績,然后顯示下一個問題。 我完成了所有其他工作,但是讓我陷入困境的部分是這部分。

 <!doctype html> <html lang="en"> <head> <title>Group Project</title> </head> <body> <script text="text/javascript"> var a = 0; var b = 0; document.write(a, "/", b) function score() { var a = 0; var b = 0; if (document.question.one.value=="10") { ++a; ++b; } else{ ++b; } document.write(a, "/", b) } </script> <form name="question"><br> <input type="text" name="one"/><br> <input type="button" value="Submit" onclick="score()" /> </form> 

我在IF語句中選擇了10,只是為了看到增量工作原理,但是當我在文本輸入中輸入10時會發生什么,頁面會重新加載,僅顯示創建的分數,而沒有按鈕或文本輸入。 我如何做到這一點,使分數或分數保持不變,並且不需要重新加載完整的頁面即可?

除了以上答案外,我還建議以下內容。 如果您以編程方式修改頁面內容,通常可以使用一個提供更簡潔/直接接口的庫來節省時間。 一個用於此目的的通用庫是jQuery: http : //jquery.com/

您不想使用document.write因為它會清除所有文檔以寫入新內容。 相反,您應該更改某些DOM元素的內部文本內容,例如div 例如:

 <form name="question"> <div id="score"></div> <input type="text" name="one" /> <br> <input type="button" value="Submit" onclick="score()" /> </form> <script text="text/javascript"> var a = 0; var b = 0; write(a, b); function score() { var a = 0; var b = 0; if (document.question.one.value == "10") { ++a; ++b; } else { ++b; } write(a, b); } function write(a, b) { document.getElementById('score').innerHTML = a + "/" + b; } </script> 

在上面的代碼中,我介紹了輔助函數write ,該函數在div#score div中顯示作用域文本。

還要注意,腳本現在位於form元素之后,以確保write函數在執行時可以定位div#score (此時應加載HTML)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM