Javascript 计数器没有正确递增
Javascript counter not incrementing correctly
我正在尝试在 javascript 中实现一个计数器,当点击“赞”按钮时它递增,而在点击“不赞”按钮时递减。但是,由于某种原因,用户第一次单击拇指向下按钮时,计数器会增加一次,然后开始正确增加(向下)。有人可以查看我的代码并查看是什么原因造成的吗?代码如下:
<script type="text/javascript">
var counter1 = 0;
</script>
<div class="pastel-vote-block">
<img class="thumbup" onclick="document.getElementById('tallyone').innerHTML = counter1++" src="img/thumb-up-dark.png" height="32" width="32" alt="thumb up">
<p class="tally" id="tallyone">0</p>
<img class="thumbdown" onclick="document.getElementById('tallyone').innerHTML = counter1--" src="img/thumb-down-dark.png" height="32" width="32" alt="thumb down">
</div>
<script type="text/javascript">
var counter1 = 0;
</script>
<div class="pastel-vote-block">
<img class="thumbup" onclick="document.getElementById('tallyone').innerHTML = ++counter1" src="img/thumb-up-dark.png" height="32" width="32" alt="thumb up">
<p class="tally" id="tallyone">0</p>
<img class="thumbdown" onclick="document.getElementById('tallyone').innerHTML = --counter1" src="img/thumb-down-dark.png" height="32" width="32" alt="thumb down">
</div>
OP 错误地使用递增和递减运算符
如果在变量后面加上++
运算符,counter1赋值给innerHTML后会自增
尝试使用 ++counter1
和 --counter1
,因为这将在运算符赋值之前递增并产生预期的输出。
var a = 10, b;
b = a++; // b will be 10, a will be 11
var a = 10, b;
b = ++a; // b will be 11, a will be 11
我正在尝试在 javascript 中实现一个计数器,当点击“赞”按钮时它递增,而在点击“不赞”按钮时递减。但是,由于某种原因,用户第一次单击拇指向下按钮时,计数器会增加一次,然后开始正确增加(向下)。有人可以查看我的代码并查看是什么原因造成的吗?代码如下:
<script type="text/javascript">
var counter1 = 0;
</script>
<div class="pastel-vote-block">
<img class="thumbup" onclick="document.getElementById('tallyone').innerHTML = counter1++" src="img/thumb-up-dark.png" height="32" width="32" alt="thumb up">
<p class="tally" id="tallyone">0</p>
<img class="thumbdown" onclick="document.getElementById('tallyone').innerHTML = counter1--" src="img/thumb-down-dark.png" height="32" width="32" alt="thumb down">
</div>
<script type="text/javascript">
var counter1 = 0;
</script>
<div class="pastel-vote-block">
<img class="thumbup" onclick="document.getElementById('tallyone').innerHTML = ++counter1" src="img/thumb-up-dark.png" height="32" width="32" alt="thumb up">
<p class="tally" id="tallyone">0</p>
<img class="thumbdown" onclick="document.getElementById('tallyone').innerHTML = --counter1" src="img/thumb-down-dark.png" height="32" width="32" alt="thumb down">
</div>
OP 错误地使用递增和递减运算符
如果在变量后面加上++
运算符,counter1赋值给innerHTML后会自增
尝试使用 ++counter1
和 --counter1
,因为这将在运算符赋值之前递增并产生预期的输出。
var a = 10, b;
b = a++; // b will be 10, a will be 11
var a = 10, b;
b = ++a; // b will be 11, a will be 11