javascript - 使用 JQuery 在 JavaScript 中循环遍历数组

标签 javascript jquery arrays cycle

我来自 Ruby 背景,如果这是一个业余问题,请原谅我。我有一个颜色选择器,其中一段会更改其文本以匹配颜色

<button class="btn btn-primary">Please Select a Color</button>
<p class="color-select"></p>

JavaScript/Jquery

var colors = ["red", "green", "yellow", "red", "purple"];

$(document).ready(function() {
  $("button").click(function() {
    $(".color-select").html(colors[Math.floor(Math.random() * 5)]);
  });
});

如您所见,我很清楚如何在 JavaScript 中选择随机元素。在 Ruby 中,它会更简单

colors.sample

但我想做的是循环显示颜色。如果我单击该按钮,文本将显示为 red。如果我再次单击它,文本将显示为 green。文本为紫色后,它将循环回红色并不断循环各种颜色。

我有一个疯狂、古怪的想法如下。

var i = 0;
while (i < colors.length) {
  $('.color-select').html(colors[i]);
  i++;
  if (i == 4) {
    i = 0
  }
}

这可能行不通,因为无需单击按钮即可更改文本。有什么想法吗?

这是一个 fiddle

http://jsfiddle.net/c7ea2m6f/

最佳答案

这对你有用。

var colors = ["red", "green", "yellow", "red", "purple"];

$(document).ready(function () {
    var i = 0;
    $("button").click(function () {
        $(".color-select").html(colors[i]);
        i++;
        i = i % 5;
    });
});

DEMO

关于javascript - 使用 JQuery 在 JavaScript 中循环遍历数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28183953/

相关文章:

C 编程——值交换是在随机数组槽中生成新值

javascript - 成功保存 parse.com 后动态更新 ng-repeat 行

Javascript codecademy 5.5 函数不返回正确的数据

javascript - 来自带有 Chart.js 的 JSON 文件的多行/数据系列

javascript - Meteor根据条件语句加载JS文件

java - 如何在 Java 中实例化一组 map ?

java - 如何从仅给出字符串的数组列表中删除人群

javascript - 将混合数据类型数组从 php 传递到 javascript 数组

javascript - AudioBuffer.copyFromChannel 返回空 Float32Array

javascript - 检测href链接中的href门户号码