为了账号安全,请及时绑定邮箱和手机立即绑定

index++时添加延迟(增加)

index++时添加延迟(增加)

江户川乱折腾 2022-10-27 14:49:21
我用 JavaScript 创建了一个类型编写器效果,但我希望在函数增加索引之前更改单词添加延迟const texts = ["Front Developer", "Designer", "Human"];let count = 0;let index = 0;let currentText = '';let letter = '';(function type(){    if(count === texts.length){        count = 0;    }    currentText =  texts[count];    letter = currentText.slice(0, index++);    document.querySelector('.typing').textContent = letter;    if(letter.length === currentText.length){        count++;        index = 0;    }    setTimeout(type, 400);}());<span>I'm <span class="typing"></span></span>
查看完整描述

2 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

尝试return不同的timeout


const texts = ["Front Developer", "Designer", "Human"];

let count = 0;

let index = 0;

let currentText = '';

let letter = '';


(function type() {

  if (count === texts.length) {

    count = 0;

  }

  currentText = texts[count];

  letter = currentText.slice(0, index++);


  document.querySelector('.typing').textContent = letter;

  if (letter.length === currentText.length) {

    count++;

    index = 0;

    setTimeout(type, 2000);

    return;

  }

  setTimeout(type, 200);

}());

<span>I'm <span class="typing"></span></span>


查看完整回答
反对 回复 2022-10-27
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

这里有一个解决方案async / await


const texts = ["Front Developer", "Designer", "Human"];

let count = 0;

let index = 0;

let currentText = '';

let letter = '';


(async function type(){

    if(count === texts.length){

        count = 0;

    }

    currentText =  texts[count];

    letter = currentText.slice(0, index++);


    document.querySelector('.typing').textContent = letter;

    if(letter.length === currentText.length){

        count++;

        index = 0;

        await sleep(4000);

    }

    await sleep(30);

    type();

}());


function sleep(time) { return new Promise(res => setTimeout(res, time))}

<span>I'm <span class="typing"></span></span>


查看完整回答
反对 回复 2022-10-27
  • 2 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信