我想在每次点击时将值更改为下一个数字...一旦它到达结尾,它就从头开始重复......
HTML:
<button id="button">Click me</button>
<br />
<br />
<div id="info"></div>
的javascript:
var arr = [10001, 10302, 12303, 11004, 10044];
$(document).on('click', '#button', function() {
$.each(arr, function(key, val) {
$('#info').text(arr[key]);
});
return false;
});
答案 0 :(得分:1)
如果您存储索引并在每次点击时递增,则应该
var arr = [10001, 10302, 12303, 11004, 10044];
var i = 0;
$(document).on('click', '#button', function() {
i++;
$('#info').text(arr[i%arr.length]);
return false;
});
答案 1 :(得分:1)
非常简单,获取当前数字的当前索引,检查长度,如果最后重复:
var arr = [10001, 10302, 12303, 11004, 10044];
$(document).on('click', '#button', function() {
var current = parseInt($("#info").text(), 10),
currentIndex = arr.indexOf(current);
var value;
if (currentIndex == (arr.length - 1)) {
value = arr[0];
} else {
value = arr[++currentIndex];
}
$("#info").text(value);
});
答案 2 :(得分:1)
只需将索引放入此实例中的var
,i
,然后在每次点击时增加值。还要确保检查i
是否等于数组的长度,如果重置则为。
var arr = [10001, 10302, 12303, 11004, 10044],
i = 0;
$(document).on('click', '#button', function() {
if(i === arr.length){
i = 0;
}
$('#info').text(arr[i]);
i++;
return false;
});