【问题标题】:How to animate a typing text effect in javascript [duplicate]如何在javascript中为打字文本效果设置动画[重复]
【发布时间】:2014-05-25 19:24:45
【问题描述】:

编写了一些脚本来提供输入文本的效果,但我希望每个字符都淡入。我尝试添加 x.style.opacity 并通过 Id 获取元素,但这改变了整个事情有没有办法针对个人人物?这是我的代码:

var i = -1; 
var string = "BREAKING NEWS "
var array = string.split("");   


function Next(){
i++;   
if(i > (array.length - 1)){      
    i = 0;                            
}
setTimeout('Slide()',50);
 }


 function Slide(){
x = document.getElementById('test')
x.innerHTML += array[i];

setTimeout('Next()',50); 

}

【问题讨论】:

  • 不能淡入文本本身,将字母包裹在 span 标签中并淡入

标签: javascript css


【解决方案1】:

您不能针对需要将它们包装在标签中的单个字符,例如 span:

DEMO

function Slide() {
    var sp = document.createElement('span');
    sp.setAttribute('class', 'fadein');
    sp.appendChild(document.createTextNode(array[i]));
    x.appendChild(sp);
    setTimeout('Next()', 50);
}

您可以使用 css 动画为它们制作动画

.fadein {
    animation: fadein 2s;
}
@keyframes fadein {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

【讨论】:

  • 从你的 jsfiddle 复制了答案,但它不能正常工作,它会将每个字符加倍,有什么想法吗?
  • 您还有问题吗?请注意,我稍微更改了您的代码,尤其是 Next 函数 decl,您可能希望恢复该更改。
  • 是的,问题仍然存在,感谢您的帮助,如果我修复它,我会考虑很多。
  • 知道我也在调用 Next() 函数 onload 很好用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-04
  • 2012-02-15
  • 1970-01-01
  • 2010-12-27
  • 1970-01-01
相关资源
最近更新 更多