免责声明:我是一个完全的和完全的noob在这,所以请不要对我尖叫,如果我错过了一些明显的东西。
我正在尝试获取外部javascript文件来更新元素,但它一直给我以下错误:
未捕获的ReferenceError:无法分配到函数调用
下面是我的代码:
<!DOCTYPE html>
<html lang="en">
<body>
<script src="magic.js"></script>
<button onclick="detclic()"></button>
<div id="htmldivone"></div>
</body>
</html>
javascript代码:
var i = 2;
var e = 1;
var o = e * 2;
function detclic() {
if (o <= i) {
i = i - o;
document.getElementById("htmldivone").innerHTML = o;
}
}
基本上,我给变量I的值为2,它需要尝试3次来更新元素,我不知道为什么。 帮忙? (这只是我在你问之前做的一些愚蠢的小游戏。)
在这一行中:
<button onclick="detclic()"></button>
引用DetClicy()
函数,然后该函数引用#HtmlDivOne
即使在这一点上,HTML解析器还没有达到:
<div id="htmldivone"></div>
替代办法:
使用内联事件侦听器(如onclick=“detclic()”
)的另一种方法是:
onclick=“DetClicy()”
; 和AddEventListener
像这样:
const myButton = document.getElementsByTagName('button')[0];
myButton.addEventListener('click', detclic, false);
当o等于2,i等于零时,您的函数永远不会被执行,因为您的第一个条件if(o<=i)永远不会为真。
第二个错误是,您正在递减i的值,而没有循环您函数中的代码,因此i将始终具有相同的值。
你能更多地解释一下你需要做什么,确切地说,需要做你的脚本吗?