写一个计数器来计算点击次数

时间:2015-01-28 07:41:29

标签: javascript jquery counter

我的网站上有两个按钮。下一个和上一个。我想编写一个代码来在每次单击下一次时增加值,并在每次单击上一次时减小该值。我希望值在输入中显示。但输入中显示的值始终为0,并且不随点击次数而变化。

这是我的代码:

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();

6 个答案:

答案 0 :(得分:2)

此功能中不需要return。实际上,您根本不需要任何功能。相反,每当您更新它时都会显示counter

var $counter=0;
$(".next-button").click(function() {
     $('#counter').val($counter++);
});
$(".previous").click(function() {
    $('#counter').val($counter--);
});

答案 1 :(得分:0)

每次更改时都应更新元素中的值:

(function count(){
    var counter=0,
        $container = $('#counter');
    $(".next-button").click(function() {
        $container.text(++counter);
    });
    $(".previous").click(function() {
        $container.text(--counter);
    });
})();

答案 2 :(得分:0)

全局声明计数器,因此它只会初始化一次



var $counter=0;
		var count=document.getElementById('counter');
    	$(".next").click(function() {
         	count.value=++$counter;
    	});
    	$(".pre").click(function() {
        	count.value=--$counter;
        	
    	});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<button class="next">next</button>
	<button class="pre">pre</button>
	<input type="text" id="counter" value="0" />
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您的代码包含多个错误。您在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.S。变量不需要以$为前缀。关于这种匈牙利符号的扩展reading:何时使用,何时不使用。

答案 4 :(得分:0)

你可以这样做:

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();

答案 5 :(得分:0)

首先,你的赋值表达式实际上是运行计数函数。

document.getElementById('counter').value =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);
})()