做一个HTML游戏式的东西
Making an HTML game-ish thing
所以我使用带有HTML和javascript的Notepad++来尝试制作一个小的点击游戏(如果你曾经玩过它,类似于cookie点击器(,我只是用它来试验东西。我有一个不可编辑的文本字段和一个按钮,单击该按钮会将"1"添加到文本字段的值中。我一直在尝试创建另一个按钮,该按钮仅检查文本字段中大于或等于 5 的值,如果为 true,则减去 5。(最终目标是有三个按钮 - 一个按钮在单击时检查大于 5 的值,然后减去 5,这使得另一个不可单击的按钮变为可单击按钮,单击时的值将增加 10,有点像升级。
我有按钮将 +1 添加到值中,并且我一直在尝试升级以启用禁用按钮。但是由于某种原因,该按钮不起作用。
<!DOCTYPE html>
<html>
<head>
<title>Button Clicker</title>
<script language="Javascript">
function handleButtonClick() {
var textField = document.getElementById( "textField" );
var currentValue = parseInt(textField.value);
// Add one
currentValue = currentValue + 1;
// Put it back with the new +1'd value
textField.value = currentValue;
}
function handlebuttonclick() {
var textField = document.getElementById( "textField" );
var currentValue = parseInt(textField.value);
// Minus one
currentValue = currentValue - 1;
// Put it back with the new -1'd value
textField.value = currentValue;
}
</script>
</head>
<body>
<script language="Javascript" type="text/javascript">
function enable(){
if (document.form="upgrade".clicked==''){
document.agreement_form.clicker.disabled=true
}else{
document.agreement_form.clicker.disabled=false
}
}
</script>
<button type="button" form="upgrade" onclick="enable()" onclick="handlebuttonclick"/>Upgrade</button>
<br>
<button type="button" onClick="handleButtonClick()"/>Press here</button>
<input type="button" value="Clicker" disabled name="clicker">
<input type="text" value="0" id="textField" readonly/>
</body>
</html>
这是错误:
<button type="button" form="upgrade" onclick="enable()" onclick="handlebuttonclick"/>Upgrade</button>
^ ^
| |
' /
' /
' /
' /
you can't have two onclick handlers
解决方案是简单地在 onclick 处理程序中调用这两个函数:
onclick="enable();handlebuttonclick()"
甚至从handlebuttonclick
内部呼叫enable
:
function handlebuttonclick() {
// ..... bunch of code
enable();
}
顺便说一句,一些建议:
尽量不要通过声明具有相似名称的变量和函数来混淆自己(handlebuttonclick
vs handleButtonClick
(。仅仅因为它有效并不意味着它是"正确的"。源代码的主要功能是记录您的意图。使代码在计算机上执行实际上是一个次要功能。为函数指定有意义的名称:
<button id='increment' onclick='handle_increment()'> + </button>
<button id='decrement' onclick='handle_decrement();enable()'> - </button>
其次,这是次要的,但由于这意味着更少的键入和更干净的代码,因此最好遵循:language="javascript"
已被弃用,我相信对于HTML5(这是您的DOCTYPE(无效,并且对于HTML5 type="text/javascript"
是不必要的。所以写
<script>
// javascript code...
</script>
第三,像<input ... />
这样的自闭合标签是xHTML,并且是无效的HTML5(尽管浏览器会容忍它,可能会触发quirks模式(quirks模式是浏览器尝试模拟以前的错误的模式((。此外,您错误地自行关闭了<button>
标记。标记末尾的/>
与用</...>
标记结束标记的含义相同。所以:
<button />
意思相同
<button></button>
因此,<button /></button>
无效。
但无论如何这都没有意义,因为这是 html5 而不是 xhtml - 不要使用/>
。
还有很多其他可以改进的地方,例如在javascript而不是HTML中分配onclick处理程序等,但它们并不是严格意义上的"错误",它们更多的是风格问题。
- 简单HTML&JavaScript外壳游戏
- 使用HTML和JS的iPhone游戏中的性能问题,以及appMobi
- 制作一个感人的“;照相机”;用于HTML游戏
- html5游戏客户端渲染html资源的加载策略
- 在HTML游戏中保持分数
- 只使用javascript、html和css创建21点游戏
- HTML 井字游戏获胜者公告
- 做一个HTML游戏式的东西
- HTML代码允许用户一键加入特定的游戏服务器
- HTML 5 画布:在游戏中使用绘制图像会使循环非常慢
- 有可能在浏览器中使用纯HTML制作游戏吗
- 岩石,纸张,sciccors,蜥蜴,spock javascript/html游戏
- 我可以'Don’不要画我的背景HTML画布游戏
- 如何在视频游戏应用程序中将@count语法转换为HTML
- 我如何用html/css/javascript创建这个分析器游戏
- 尝试用HTML设计台球游戏来制作jQuery游戏-我的第一个项目
- HTML画布游戏:2D碰撞检测
- javascript点击游戏使用较少的html
- 我需要学习CSS3和HTML的基础知识来制作HTML5游戏和动态web应用程序吗
- 编程一个石头剪刀html游戏