var times = 0;
$(selector).on('click',function(){
times += 1;
if(times > 3){
times = 0
}
console.log(times);
});
这将记录:
1,2,3,0,1,2,3,0,and so on ...
但我想得到这样的结果:
1,2,3,0,0,0,0, ..... , 0
这意味着在数字3
之后,时间变量应始终为0
。
我该怎么做?
答案 0 :(得分:1)
另一个:
var times = 1;
$(function(){
$("#test").on('click',function(){
console.log(times);
if(times >= 3 || times == 0){
times = -1
}
times += 1;
});
});
答案 1 :(得分:0)
var times = 0;
var canClick = true;
$("#test").on('click',function(){
if ((times <= 3) && (canClick == true)) times += 1;
if (times == 4){
canClick = false;
times = 0
}
console.log(times);
});
答案 2 :(得分:0)
var times = 0, n;
$('button').on('click',function(){
n = times++;
if(times > 4){
n = 0;
}
$(this).text(n);
console.log(n);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>increment</button>
答案 3 :(得分:0)
就像在条件if
中包含所有内容一样简单:
var times = 0;
$(selector).on('click',function(){
if(times < 3){
times++;
}
else{
times = 0;
$(this).off('click');
}
console.log(times);
});
答案 4 :(得分:0)
这个怎么样?
var do_count = true, times = 0;
$(selector).on('click',function(){
if (do_count) {
times += 1;
if (times > 3) {
times = 0;
do_count = false;
}
}
console.log(times);
});
答案 5 :(得分:0)
你需要设置一个标记hitzero
默认为false
,当true
命中为零时为times
,当你增加times
时,请确保只有在hitzero
为false
这是一个有效的演示:DEMO
以下是代码:
var times = 1;
var hitzero=false;
$(function(){
$("#test").on('click',function(){
if(hitzero==false)
times += 1;
if(times > 3){
times = 0
hitzero=true;
}
alert(times);
});
});