在学校为lols制作我自己的cookie clicker版本,遇到一些问题;
<!DOCTYPE html>
<html>
<head>
<title>Patrick Clicker</title>
<script>
var patricks = parseInt(localStorage.getItem("patrickcount"));
function increment(n) {
localStorage.setItem("patrickcount", patricks + n);
document.getElementById("patrickcounter").innerHTML = "Patricks: " + patricks;
}
</script>
</head>
<body>
<img src="patrick.jpg" onclick="increment(1)">
<p id="patrickcounter">
Patricks: 0
</p>
</body>
</html>
当我点击我的脸时,它说“Patricks:NaN” 我知道NaN意味着什么,但我不知道为什么会造成错误。
任何帮助都将不胜感激。
答案 0 :(得分:1)
它最初不起作用,因为您在localStorage
中没有最初的值。
你可以这样做:
var patricks = parseInt(localStorage.getItem("patrickcount"))||0;
您是否有意在增量之前显示值?如果那不是您的意图,请将您的功能更改为
function increment(n) {
patricks += n;
localStorage.setItem("patrickcount", patricks);
document.getElementById("patrickcounter").innerHTML = "Patricks: " + patricks;
}
如果您希望页面在点击之前显示正确的值,请在正文的末尾添加:
<script>increment(0)</script>