Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery在一个范围内定期更改数组中的文本_Javascript_Jquery_Jquery Ui - Fatal编程技术网

Javascript 使用jquery在一个范围内定期更改数组中的文本

Javascript 使用jquery在一个范围内定期更改数组中的文本,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有一个跨度,例如: <p>Here is a sentence <span id="rotate">this</span> is what changes</p> 这里有一句话,这就是变化 我希望这段时间的内容在一系列术语之间每隔几分钟就会发生变化,所以内容可能会变为: <span id="rotate">then</span> <span id="rotate">thus</span> 那么

我有一个跨度,例如:

<p>Here is a sentence <span id="rotate">this</span> is what changes</p>
这里有一句话,这就是变化

我希望这段时间的内容在一系列术语之间每隔几分钟就会发生变化,所以内容可能会变为:

<span id="rotate">then</span>
<span id="rotate">thus</span>
那么
因此
等等。我希望文本淡出,然后新文本淡入


通过jquery执行此操作的最佳方法是什么?

您可以执行类似的操作,将当前索引存储在元素上,并使用旋转来支持多个位置:

var terms = ["term 1", "term 2", "term 3"]; //array of terms to rotate

function rotateTerm() {
  var ct = $("#rotate").data("term") || 0;
  $("#rotate").data("term", ct == terms.length -1 ? 0 : ct + 1).text(terms[ct])
              .fadeIn().delay(2000).fadeOut(200, rotateTerm);
}
​​​​​​​​​​​​​​​​​​​$(rotateTerm); //start it on document.ready
​
这将淡入第一个术语,等待2秒,淡出,更改文本并重复…只需根据需要调整值:)


回答得很好!这很有效。然而,你能解释一下这里发生了什么吗?我很好奇变量“ct”是什么意思?@DavidBecerra这只是我对“当前术语”的简写——它不再简单,因此代码可以在不滚动的情况下干净地放在这里。@NickCraver这已经很旧了,但我也有类似的需要,不过它有点复杂。我需要旋转两个不同的文本字符串,一个用4种不同的语言表示“即将到来”,第二个字符串表示“订阅通知”。我需要这些淡入/淡出同步,以便语言匹配。我尝试为这两个数组定义两个变量,将id=“rotate”更改为一个类,然后尝试使用if语句加载相应的变量,但不起作用。有什么想法吗?此外,我实际上在这里使用了这个概念,但对2个字符串进行了修改