循环遍历数组中的字符串,每秒显示一个[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了循环遍历数组中的字符串,每秒显示一个[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

$(function() {
    let testOne = 'test one.';
    let testTwo = 'test two';

    let messageBox = $('messagebox');

    let a = ['test:', testOne,'test2:', testTwo];
    let i = 1

    setInterval(cool, 1000)

    function cool() {
        messageBox.text(a[1])
    }
});

嗨,您好,

我是JS的新手。我期待在我的屏幕上显示定时器中的testOnetestTwo(将添加更多)。我得到了帮助,以实现这一目标。例如,我试图在一个时间循环中显示一个单词及其英文定义,在循环中旋转单词。 (有点像现场屏幕保护程序)

我错过了什么?

感谢您的时间,帮助和努力。

答案

你有个好的开始。

  1. 正如其他人所提到的,除非您使用自定义html元素(即<messagebox>),否则请在选择器的开头使用#来指示“messagebox”是一个ID。见jQuery's ID Selector$('#messagebox') 或者,使用一个类和class selector$('.messagebox')
  2. 要显示的数组元素的索引当前硬编码为1。我们希望在每次迭代时增加它,以便文本发生变化。但我们只想计算数组元素的数量,然后回到第一个并重新开始。 下面,我使用javascriptincrementremainder运算符来增加i,同时将其限制为a中的元素数量。请注意,“后缀”方法“在递增之前返回值”,因此i从零开始。 a[i++ % a.length]

工作范例:

$(function() {

  let $messageBox = $('#messagebox');
  let testOne = 'test one.';
  let testTwo = 'test two.';
  let a = ['test:', testOne, 'test2:', testTwo];
  let i = 0;

  function cool() {
    $messageBox.text(a[i++ % a.length])
  }

  setInterval(cool, 1000);

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="messagebox"></div>
另一答案

您可以轻松地交换阵列中的消息并使用您的代码更新html元素。不要传入硬编码索引,只需递增一个数字,直到达到数组的长度(n <array.length)并将其重置为0。

我个人会建议你的messagebox元素是一个div或开箱即用的东西只是为了可读性(所以没有人进来并混淆messagebox来自哪里)。但是,如果您有自定义html元素的特定用例,请确保您正确执行此操作。

https://jsfiddle.net/mswilson4040/oxbn8t14/2/

<messagebox>Initial Value...</messagebox> // custom HTML element called messagebox


$(function() {
    let testOne = 'test one.';
    let testTwo = 'test two';
        let interval = -1;
    let messageBox = $('messagebox');

    let a = ['test:', testOne,'test2:', testTwo];
    // let i = 1 <-- this isn't doing anything

    setInterval(cool, 1000)

    function cool() {
            interval = interval < a.length ? interval += 1 : 0;
        messageBox.text(a[interval])
    }
});

以上是关于循环遍历数组中的字符串,每秒显示一个[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用for循环遍历shell脚本中的数组[重复]

在循环中多次重复数组中的项目?

For循环遍历数组仅显示最后一个值

循环遍历 JSON 数组会给出“未定义”的结果 [重复]

2017/3/29_数组循环遍历出现的问题

在Javascript中循环遍历数组的元素[重复]