停止循环播放文本,但仍运行效果
Stop Looping Text but still run the effect
示例
var text = 'ENTER...';
var chars = text.split('');
var enter = document.getElementById("enter")
var i = 0;
setInterval (function(){
if (i < chars.length){
enter.innerHTML += chars[i++];
}else{
i = 0;
enter.innerHTML = "";
}
}, 200);
我正在尝试获得这种键入"输入"效果,我想知道如何使其只进行一次。所以它会输入"ENTER..."然后停止。例
var text = 'ENTER...';
var enter = document.getElementById("enter")
var i = 0;
(function nextLetter() {
enter.innerHTML = text.substr(0, ++i);
if (i < text.length) {
setTimeout(nextLetter, 200);
}
})();
编辑:你要么必须使用setTimeout(一次"睡眠"),要么记住setInterval的返回值,并在你不需要它/希望它运行后通过clearInterval销毁该计时器。
如果你使用interval
,你必须用clearInterval
停止它。在区间函数中停止它,该函数被声明为变量,在if-statement
:
var text = 'ENTER...';
var enter = document.getElementById("enter")
var i = 0;
var interval = setInterval(function() {
enter.innerHTML += text[i];
i += 1;
if(i === text.length) {
clearInterval(interval);
}
}, 200);
JSFiddle
var text = 'ENTER...';
var chars = text.split('');
var enter = document.getElementById("enter")
var i = 0;
var interval = setInterval (function(){
if(i == chars.length) {
clearInterval(interval);
return;
}
if (i < chars.length){
enter.innerHTML += chars[i++];
}else{
i = 0;
enter.innerHTML = "";
}
}, 200);
<div id="enter"></div>
相关文章:
- 带有延迟的循环每次应运行5次
- For循环在Jquery中只运行一次
- jquery,while循环在后台运行,同时while循环
- 动画、计时和运行循环等问题
- 运行循环,然后重置并再次运行它
- Shopify点击“结账”按钮后再次运行循环
- 在后台运行循环
- 在页面加载Javascript后运行循环
- 你如何断言在 Ember.js 中使用了运行循环
- HTML/JavaScript:如何在运行其他代码的同时运行循环
- JavaScript和UI响应中的长时间运行循环
- Javascript-Can'我不能让我的程序运行——循环永远不会结束
- 在javascript中运行循环以确认警报
- 在运行循环的每一行时添加一个暂停
- Emberjs更新/观察者/运行循环
- 使用setvalue运行循环
- 从javascript运行循环保存到Mysql
- 我的Javascript函数一直在运行/循环
- 角度运行循环
- 如何在 JavaScript 中以定义的时间间隔运行循环