Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 增加鼠标单击函数内的数字_Javascript - Fatal编程技术网

Javascript 增加鼠标单击函数内的数字

Javascript 增加鼠标单击函数内的数字,javascript,Javascript,我有一个代码,当使用mouseClicked=function(){}单击鼠标时,我会绘制一个对象,然后我需要一个数字来显示已经绘制了多少个对象。问题是这个数字不会增加。我该怎么办?如果count变量是在mouseClicked函数中定义的,就像标题所说的那样,那么在每个mouseClick中都会重新创建它。在这种情况下,您应该使用value=0在函数外定义它,并在函数内将1和该值相加。无论如何,正如评论所说,您有必要将代码包含到问题中,以给出更好的答案。如果count变量如标题所示定义在mou

我有一个代码,当使用
mouseClicked=function(){}
单击鼠标时,我会绘制一个对象,然后我需要一个数字来显示已经绘制了多少个对象。问题是这个数字不会增加。我该怎么办?

如果count变量是在mouseClicked函数中定义的,就像标题所说的那样,那么在每个mouseClick中都会重新创建它。在这种情况下,您应该使用value=0在函数外定义它,并在函数内将1和该值相加。无论如何,正如评论所说,您有必要将代码包含到问题中,以给出更好的答案。

如果count变量如标题所示定义在mouseClick函数中,则您将在每次mouseClick中重新创建它。在这种情况下,您应该使用value=0在函数外定义它,并在函数内将1和该值相加。无论如何,正如评论所说,你有必要在问题中加入代码,以便给出更好的答案。

下面是一个简单的例子,可以让你了解如何增加计数器

var res=document.getElementById(“res”)
var btn=document.getElementById(“btn”)
变量计数=1
btn.addEventListener(“单击”,()=>{
res.textContent=计数
计数++
})


Draw
下面是一个简单的示例,可以让您了解如何递增计数器

var res=document.getElementById(“res”)
var btn=document.getElementById(“btn”)
变量计数=1
btn.addEventListener(“单击”,()=>{
res.textContent=计数
计数++
})


绘制
这是一种简单的方法,可以阻止对html文档的点击

let计数器=0;
document.onclick=()=>{
计数器++;
控制台日志(计数器);

}
这是一种简单的方法,可以阻止对html文档的点击

let计数器=0;
document.onclick=()=>{
计数器++;
控制台日志(计数器);

}
而不是声明和递增全局变量-您可以在按钮上将计数设置为HTML 5数据属性,然后单击按钮,获取数据属性值,递增并更新显示和按钮上的新计数

请注意,数据属性始终是字符串-因此需要parseInt()方法,尽管如果我是一个纯粹主义者-我也会将基数放入,但默认为10-因此在本例中不需要

在可能的情况下最好避免使用全局变量,数据属性提供了一种非常方便的存储本地数据的方法

感谢@Sven.hig提供解决方案的骨架代码,然后我将其修改为我的方法

var res=document.getElementById(“res”)
var btn=document.getElementById(“btn”)
btn.addEventListener(“单击”,()=>{
const newCount=parseInt(btn.getAttribute('data-count'))+1;
res.textContent=newCount;
btn.setAttribute('data-count',newCount)
})


绘制
而不是声明和递增全局变量-您可以在按钮上将计数设置为HTML 5数据属性,然后单击按钮,获取数据属性值,递增并更新显示和按钮上的新计数

请注意,数据属性始终是字符串-因此需要parseInt()方法,尽管如果我是一个纯粹主义者-我也会将基数放入,但默认为10-因此在本例中不需要

在可能的情况下最好避免使用全局变量,数据属性提供了一种非常方便的存储本地数据的方法

感谢@Sven.hig提供解决方案的骨架代码,然后我将其修改为我的方法

var res=document.getElementById(“res”)
var btn=document.getElementById(“btn”)
btn.addEventListener(“单击”,()=>{
const newCount=parseInt(btn.getAttribute('data-count'))+1;
res.textContent=newCount;
btn.setAttribute('data-count',newCount)
})


绘制
你的代码在哪里?嗨,安娜,欢迎来到SO。为了真正理解您的问题,这意味着您需要将您引用的代码包含到代码块、代码段或(但不太可取)fiddle/bin/pen中。有关更多信息,请查看“帮助”部分。这将增加您的问题获得高质量帮助的机会。您的代码在哪里?嗨,Anna,欢迎来到SO。为了真正理解您的问题,这意味着您需要将您引用的代码包含到代码块、代码段或(但不太可取)fiddle/bin/pen中。有关更多信息,请查看“帮助”部分。这将增加您获得高质量问题帮助的机会。您可以将
parseInt
替换为
+
。感谢@GirkovArpa-宁愿使用parseInt()而不是从字符串到数字的类型转换。但是很高兴知道-谢谢你可以用
+
替换
parseInt
。谢谢@GirkovArpa-宁愿用parseInt()来代替,也不愿用字符串到数字的类型转换。但很高兴知道-干杯