如何通过每次单击来选择数组的新索引
how to pick a new index of an array by each click
我有一个函数,它包括一个颜色数组,还有一个按钮和一个文本标记。因此,每次单击后,函数都会获取数组的当前索引,将其显示在文本中,并在索引号中添加一个,以便下次显示下一个索引。
这是我的代码:
var mycolor = 0;
var color = function() {
var list = ["red", "blue", "green"];
return list[mycolor];
mycolor++;
};
function run(){
$(".demo").text(color());
}
JSFIDDLE
知道吗?如何修复?目前它只显示第一个索引,不更新变量。
这是
var mycolor = 0;
var maxcolor = 0
var color = function() {
var list = ["red", "blue", "green"];
maxcolor = list.length;
if((mycolor + 1) > maxcolor)
{
mycolor = 0
}
return list[mycolor++];
};
function run(){
$(".demo").text(color());
}
无限版本。
您的返回太早。您还需要处理mycolor何时超过数组长度。
var color = function() {
var list = ["red", "blue", "green"];
if (mycolor >= list.length)
mycolor = 0;
return list[mycolor++];
};
写上述内容的另一种方式是:
var color = function() {
var list = ["red", "blue", "green"];
return list[mycolor++ % list.length];
};
function run(){
$(".demo").text(color());
}
您正在增加后返回,这保证了代码不会被执行。
试试。。。
var color = function() {
var list = ["red", "blue", "green"];
return list[mycolor++];
};
它返回数字,然后将其递增。您可能应该执行% list.length
到,这样调用超出数组长度的数组将包装结果,而不是返回undefined
(当然,除非您想要这样做)。
这个怎么样:
var mycolor = 0;
var list = ["red", "blue", "green"];
var color = function() {
return list[mycolor];
};
function run(){
$(".demo").text(color());
mycolor++;
if(mycolor > 2) {
mycolor = 0;
}
}
mycolor
没有得到更新,因为您在从函数返回后将其递增。
This is the only one that will work because it's the only code that includes a click event.
var mycolor = 0;
var maxcolor = 0
var color = function() {
var list = ["red", "blue", "green"];
maxcolor = list.length;
if((mycolor + 1) > maxcolor)
{
mycolor = 0
}
return list[mycolor++];
};
$(".demo").text('on', 'click', color());
相关文章:
- 名称输入的索引
- 在jQuery中获取表的行索引
- 如何在遍历表和添加新元素时获得tr的索引
- 如何调用索引/索引路由'用户后的s模型挂钩's的授权
- 如何在 ng-repeat 中的某个特定索引上开始一个新行
- 获取新推送元素的数组索引
- 获取新推送项目的索引
- 将数据发送到新页面并将其包含在索引页面中
- 如何在索引.js中切换到新函数
- 如何使用Backbone.js从索引中提取新请求
- 如何通过每次单击来选择数组的新索引
- 如何在ui网格中的特定索引处添加新行
- 如何打乱Javascript数组,确保每个索引都在新数组中的新位置
- 创建一个新的数组,使用一个数组中的元素作为索引来选择另一个数组中的元素
- 我如何添加一个新的索引到列类型的数组
- 在表单中使用name属性中的增量索引创建新字段时,似乎不考虑变量
- 如何将函数索引和函数数据统一为一个新函数
- Jquery在创建新行时不向最后一行添加索引
- 添加新表单元素时更改html表单索引
- jQuery选项卡-获取新选择的索引