在javascript中,不使用jquery的情况下,一个字母一个字母地淡入淡出 var i=0; var txt=‘团结人民’;/*正文*/ var txt2='&'; var txt3=‘交付’; var txt4=‘智能’; var txt5='访问您的中心进行开放式新闻报道'; var速度=0; 多功能打字机(淡入淡出){ 如果(i

在javascript中,不使用jquery的情况下,一个字母一个字母地淡入淡出 var i=0; var txt=‘团结人民’;/*正文*/ var txt2='&'; var txt3=‘交付’; var txt4=‘智能’; var txt5='访问您的中心进行开放式新闻报道'; var速度=0; 多功能打字机(淡入淡出){ 如果(i,javascript,html,css,ruby-on-rails-5,Javascript,Html,Css,Ruby On Rails 5,我不确定错误是什么。每个字母应该在大约100毫秒后消失,并且应该等到每个字母都完成后,再开始下一个字母 每个元素都是内联的,以正确字体和字体大小的小不透明度开始,空格为文本腾出空间,空格设置为pre 文本内容一次只更新一个字符,并在淡入前附加到正确的部分。淡入设置为与整体字母淡入相同,然后再计算增量 一旦设置的超时发生,延迟淡入淡出将被忽略,并且它将立即开始,因此就好像淡入淡出全部设置为0一样 然而,当代码被剪切并实现一个部分时,它一次只执行一个字母。您有想要实现的内容的参考资料吗?此外,您还可

我不确定错误是什么。每个字母应该在大约100毫秒后消失,并且应该等到每个字母都完成后,再开始下一个字母

每个元素都是内联的,以正确字体和字体大小的小不透明度开始,空格为文本腾出空间,空格设置为pre

文本内容一次只更新一个字符,并在淡入前附加到正确的部分。淡入设置为与整体字母淡入相同,然后再计算增量

一旦设置的超时发生,延迟淡入淡出将被忽略,并且它将立即开始,因此就好像淡入淡出全部设置为0一样


然而,当代码被剪切并实现一个部分时,它一次只执行一个字母。

您有想要实现的内容的参考资料吗?此外,您还可以在jsfiddle.net上设置您的示例吗?
setTimeout(打字机(淡入淡出))
立即调用
打字机
。将一个函数而不是其结果传递给
设置超时
,但它是
设置超时(打字机(淡入淡出),10*淡入淡出);
,因此它的延迟为
10*淡入淡出

var i = 0;
  var txt = 'UNITING PEOPLE'; /* The text */
  var txt2 = ' &'; 
  var txt3 = 'DELIVERING ';
  var txt4 = 'INTELLIGENCE'; 
  var txt5 = 'Access your hub for Open Journalism'; 
  var speed = 0;


function typeWriter(fade) {
    if (i < txt.length + txt2.length + txt3.length + txt4.length + txt5.length) {
      if(i < txt.length-1) {
        var element = document.createElement("p");
        element.style.display = "inline-block";
        element.style.opacity = "0.1";
        element.style.fontSize = "38px";
        element.style.fontFamily = "Helvetica-Bold";
        element.style.whiteSpace = "pre";
        element.style.marginTop = "0";
        element.textContent += txt.charAt(i);
        document.getElementById("words").children[0].children[0].appendChild(element)
        unfade(element, fade);
        i++;
        setTimeout(typeWriter(fade), 10*fade);
      } else if(i==txt.length-1) {
        var element = document.createElement("p");
        element.style.display = "inline-block";
        element.style.opacity = "0.1";
        element.style.fontSize = "38px";
        element.style.fontFamily = "Helvetica-Bold";
        element.style.whiteSpace = "pre";
        element.style.marginTop = "0";
        element.textContent += txt.charAt(i);
        document.getElementById("words").children[0].children[0].appendChild(element)
        unfade(element, fade);
        i++;
        setTimeout(typeWriter(fade), 1500);
      } else if(i < txt.length + txt2.length-1)
    ...

  }

  setTimeout(typeWriter(100), 1500);

function unfade(element, fade) {
    var op = 0.1;  // initial opacity
    element.style.display = 'inline-block';
    var timer = setInterval(function () {
        if (op >= 1){
            clearInterval(timer);
        }
        element.style.opacity = op;
        element.style.filter = 'alpha(opacity=' + op * 100 + ")";
        op += op * 0.1;
    }, fade);
  }