gpt4 book ai didi

javascript - 如何一次又一次地动态替换文本

转载 作者:太空狗 更新时间:2023-10-29 13:42:26 24 4
gpt4 key购买 nike

我想一次又一次地使用数组中的项目动态替换段落的内容。当我使用 console.log() 检查结果时,输出正常。但它并没有像预期的那样替换段落上的内容,只是在迭代完成时显示最后一个词。

这是我创建和迭代数组的代码:

$(document).ready(function()
{
var _strng = "Lorem ipsum dolor sit amet";
var _array = new Array();
_array = _strng.split(' ');

jQuery.each(_array, function(index,item)
{
console.log(item); // Works fine
$('p').html(item); // Only shows the last word when the iteration is over
wait(1000); // Custom function
console.clear();
});
});

wait() 函数:

function wait(_timeframe)
{
var final = 0;
var timeframe = new Date(_timeframe);
var initial = Date.now();
final = initial + _timeframe;

while (Date.now() < final) { };
}

HTML代码:

<p>Text to be replaced here</p>

最佳答案

您可以使用 setInterval()这种方法的方法。在下一个例子中,我们用它来替换 <p> 的文本。每个元素 N秒,当它到达末尾时循环回到数组的开头。

此外,还有一个 button展示如何使用 clearInterval() 停止执行此过程方法(以防万一您需要了解它)。

$(document).ready(function()
{
var _str = "Lorem ipsum dolor sit amet";
var _array = _str.split(' ');
var _idx = 0;

// Define the time interval between executions (in milliseconds).

var _ivalTime = 3000;

// Define the method that will change the text.

var changeText = function()
{
var item = _array[_idx++];
console.log(item);
$('p').html(item);

// Check the restart (loop back) condition.

_idx = (_idx >= _array.length) ? 0 : _idx;
};

// Start the procedure to change text.

var ival = setInterval(changeText, _ivalTime);

// Register listener on the click event of stop button.

$("#btnStop").click(function()
{
clearInterval(ival);
});
});
.as-console-wrapper {max-height:50% !important;}
.as-console {background-color:black !important;color:lime;}

p {
background: skyblue;
text-align: center;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<p>INITIAL TEXT...</p>
<br>
<button id="btnStop" type="button">Stop</button>

关于javascript - 如何一次又一次地动态替换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53601986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com