我想要一个按钮点击增加的计数器。我尝试了以下代码,但打印的值保持不变:
$(document).ready(function () {
$("#gonder").click(function() {
var baslik = document.title;
var sayi = 1;
var sayi1 = sayi++;
document.title = '(' +sayi+ ')' + baslik;
});
});
我该怎么办?
答案 0 :(得分:2)
我能想到的最简单的
<button>clicked 0 times</button>
var count = 0;
$('button').click(function(){
count++;
$(this).text("clicked "+count+" times");
});
答案 1 :(得分:1)
这是一个相当详细的写作,我使用你的确切目标作为稻草人(呃......问题)在闭包上做了
http://jondavidjohn.com/blog/2011/09/javascript-event-handler-persistance-with-closures
基本上你可以采用以下两种方式之一。
在事件处理程序范围之外创建一个计数器变量。
var count = 0;
element.onclick = function() {
count++;
};
使用闭包为每个元素提供事件处理程序本身包含的唯一计数器。我在博客文章中详细说明了这一点。
答案 2 :(得分:1)
您需要在功能之外初始化您的计数器。您在每次点击时都清除它。
var sayi = 1;
$(document).ready(function () {
$("#gonder").click(function() {
var baslik = document.title;
sayi++;
document.title = '(' +sayi+ ')' + baslik;
});
});
答案 3 :(得分:0)
var clickCounter = 0;
$(document).ready(function () {
$("#gonder").click(function() {
var baslik = document.title;
var sayi = 1;
clickCounter++;
document.title = '(' +sayi+ ')' + baslik;
});
});
答案 4 :(得分:0)
我认为这就是你想要的:
var sayi = 1;
var baslik = document.title;
$("#gonder").click(function() {
document.title = '(' + (++sayi) + ')' + baslik;
});
答案 5 :(得分:0)
您可以尝试:
<button class="counter">I have been clicked 0 times</button>
<script type="text/javascript">
var count = 0;
$('button.counter').click(function(){
count++;
$(this).text("clicked "+count+" times");
});
</script>
这是我能想到的最简单的。
答案 6 :(得分:0)
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<button id="btn" onclick="f1();">Button</button>
<p id="demo"></p>
<script>
var count=0;
function f1()
{
document.getElementById("demo").innerHTML=count;
count++;
}
</script>
</body>
</html>