Javascript 写入计数器以计算单击次数
我的网站上有两个按钮。下一个和上一个。我想写一个代码,每次单击next时增加值,每次单击previous时减少值。我希望在输入中显示该值。但输入中显示的值始终为0,并且不会随单击而更改 这是我的密码:Javascript 写入计数器以计算单击次数,javascript,jquery,counter,Javascript,Jquery,Counter,我的网站上有两个按钮。下一个和上一个。我想写一个代码,每次单击next时增加值,每次单击previous时减少值。我希望在输入中显示该值。但输入中显示的值始终为0,并且不会随单击而更改 这是我的密码: function count(){ var $counter=0; $(".next-button").click(function() { $counter=$counter+1; }); $(".previous").click(functio
function count(){
var $counter=0;
$(".next-button").click(function() {
$counter=$counter+1;
});
$(".previous").click(function() {
$counter=$counter-1;
});
return $counter;
}
document.getElementById('counter').value =count();
此函数中不需要返回
return
。事实上,你根本不需要函数。相反,每次更新计数器时,都要显示它
var $counter=0;
$(".next-button").click(function() {
$('#counter').val($counter++);
});
$(".previous").click(function() {
$('#counter').val($counter--);
});
每次元素中的值发生更改时,都应更新该值:
(function count(){
var counter=0,
$container = $('#counter');
$(".next-button").click(function() {
$container.text(++counter);
});
$(".previous").click(function() {
$container.text(--counter);
});
})();
全局声明计数器,使其仅初始化一次
var$counter=0;
var count=document.getElementById('counter');
$(“.next”)。单击(函数(){
count.value=+$counter;
});
$(“.pre”)。单击(函数(){
count.value=--$counter;
});代码>
下一个
之前
您的代码包含多个错误。在count()
函数中将变量重置为0,并将click()
函数放入函数中
var counter=0;
function count(){
return counter;
}
$(".next-button").click(function() {
counter = counter+1;
});
$(".previous").click(function() {
counter = counter-1;
});
$('#counter').val(count());
// or
$('#counter').val(counter);
我假设$('#counter')
是一个输入文本框
p、 变量不需要前缀为$
。关于匈牙利符号的扩展:何时使用,何时不使用。您可以这样做:
var $counter = 0;
$(".next-button").click(function() {
$counter = $counter + 1;
refreshCount();
});
$(".previous").click(function() {
$counter = $counter - 1;
refreshCount();
});
function refreshCount() {
document.getElementById('counter').value = $counter;
}
//init
refreshCount();
首先,您的赋值表达式实际上是运行计数函数
document.getElementById('counter').value =count();
count函数返回0
(function() {
var $counter = 0;
var add = function() {
$counter ++;
setCounterValue();
}
var del = function() {
$counter --;
setCounterValue();
}
var setCounterValue = function() {
document.getElementById('counter').value = $counter;
}
$(".next-button").bind("click", add);
$(".previous").bind("click", del);
})()
这是因为count()
总是将$counter
重置为0。另外,Javascript不是PHP。不需要$
符号。为什么要将click函数嵌套在count()中?听起来不正确。不建议将传统Javascript DOM与jQuery对象混合使用,但代码仍然有效。@Raptor Yes。使用以下命令:$('#counter').val($counter)代码>更好~