繁体   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