Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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
带有onClick的Javascript更新变量_Javascript - Fatal编程技术网

带有onClick的Javascript更新变量

带有onClick的Javascript更新变量,javascript,Javascript,我已经花了几个小时研究一个简单的javascript函数。其目的是在默认情况下,在一篇文章下显示2条注释,并且每次单击按钮时都会添加5条注释 这是我的代码: <div id="reaction1">Comment 1</div> <div id="reaction2">Comment 2</div> <div id="reaction3">Comment 3</div&g

我已经花了几个小时研究一个简单的javascript函数。其目的是在默认情况下,在一篇文章下显示2条注释,并且每次单击按钮时都会添加5条注释

这是我的代码:

<div id="reaction1">Comment 1</div>
<div id="reaction2">Comment 2</div>
<div id="reaction3">Comment 3</div>
<div id="reaction4">Comment 4</div>
<p onClick="reactionsfunction()">More reactions</p>

<script>
var reactionsload = 2;
function reactionsfunction(){
    reactionsload = reactionsload + 5;
}
var x = document.querySelectorAll("div[id^='reaction']");
for (var i = 0; i < reactionsload; i++) {
    x[i].style.display = "block";
}
</script>
注释1
评论2
评论3
评论4
更多反应

var反应负荷=2; 函数反应函数(){ 反应负荷=反应负荷+5; } var x=document.querySelectorAll(“div[id^='reaction']”); 对于(变量i=0;i

for循环工作正常,但变量未更新。如何让函数通过函数更新for循环中的条件?

如果我理解正确,问题是循环只运行一次 当您的
DOM
加载时,您只需在每次启动
reactionsfunction
时运行此循环,如下所示

iterate(); // run it once after the page load
var reactionsload = 2;
function reactionsfunction(){
    reactionsload = reactionsload + 5;
    iterate();
}

function iterate(){
  var x = document.querySelectorAll("div[id^='reaction']");
  for (var i = 0; i < reactionsload; i++) {
    x[i].style.display = "block";
 }
}
iterate();//在页面加载后运行一次
var反应负荷=2;
函数反应函数(){
反应负荷=反应负荷+5;
迭代();
}
函数iterate(){
var x=document.querySelectorAll(“div[id^='reaction']”);
对于(变量i=0;i
如果我理解正确,问题是循环只运行一次 当您的
DOM
加载时,您只需在每次启动
reactionsfunction
时运行此循环,如下所示

iterate(); // run it once after the page load
var reactionsload = 2;
function reactionsfunction(){
    reactionsload = reactionsload + 5;
    iterate();
}

function iterate(){
  var x = document.querySelectorAll("div[id^='reaction']");
  for (var i = 0; i < reactionsload; i++) {
    x[i].style.display = "block";
 }
}
iterate();//在页面加载后运行一次
var反应负荷=2;
函数反应函数(){
反应负荷=反应负荷+5;
迭代();
}
函数iterate(){
var x=document.querySelectorAll(“div[id^='reaction']”);
对于(变量i=0;i
问题不在于变量,而在于for循环只运行一次,而不是每次单击p元素。你可以用

var反应负荷=2;
函数反应函数(){
反应负荷=反应负荷+5;
var x=document.querySelectorAll(“div[id^='reaction']”);
对于(变量i=0;i
注释1
评论2
评论3
评论4

More reactions

问题不在于变量,而在于for循环只运行一次,而不是每次单击p元素。你可以用

var反应负荷=2;
函数反应函数(){
反应负荷=反应负荷+5;
var x=document.querySelectorAll(“div[id^='reaction']”);
对于(变量i=0;i
注释1
评论2
评论3
评论4

更多反应