javascript - 写动画
问题描述
我有一个动画句子的javascript(使用“innerHTML”写入和删除它),在这个例子中,每个元素我只能使用一个,我想用HTML调用它并在PHP变量中指示短语。所以我只想对多个元素使用 1 个 Javascript 文件。
我想要的示例:
<div id = "Phrases" onload = "animWrite (phrase, element id);"></div>
链接:http: //jsfiddle.net/yLireJ/qoaw2ce5/6/
<div id="sbFrases">▶ </div>
解决方案
对其进行功能化,以便您可以重用它:
var FrasesA = ['I\'m brazilian', ' and I need help', 'because', 'I want to be a', 'Web Designer'];
var FrasesB = ['I\'m english', ' and I need help', 'because', 'I want to be', 'normal', ':p'];
function typer(phrases, id) {
var div = document.getElementById(id);
function escrever(str, done) {
var char = str.split('').reverse();
var typer = setInterval(function() {
if (!char.length) {
clearInterval(typer);
return setTimeout(done, 500);
}
var next = char.pop();
div.innerHTML += next;
}, 100);
}
function limpar(done) {
var char = div.innerHTML;
var nr = char.length;
var typer = setInterval(function() {
if (nr-- == 2) {
clearInterval(typer);
return done();
}
div.innerHTML = char.slice(0, nr);
}, 100);
}
function rodape(conteudos) {
var atual = -1;
function prox(){
if (atual < conteudos.length - 1) atual++;
else atual = 0;
var str = conteudos[atual];
escrever(str, function(){
limpar(prox);
});
}
prox();
}
rodape(phrases);
}
typer(FrasesA, 'sbFrasesA')
typer(FrasesB, 'sbFrasesB')
<div id="sbFrasesA">▶ </div>
<div id="sbFrasesB">▶ </div>
推荐阅读
- python - Python: Condense DataFrame column values into a single cell
- python - 从分类数据类型列中提取平均值
- sql - Redshift:将文本转换为时间戳
- sharepoint - 如何阻止页面在 SharePoint 中进行任何内容修改
- php - 在 HTML 网页上制作从 txt 文件中提取数据的动态图
- javascript - 如何调用嵌套在 forEach 循环中的 Javascript 函数
- c++ - 在 Eclipse 中设置焦点
- c++ - 为什么我的嵌套 If 语句没有生成 cout?
- python-3.x - 如何在 API 中使用参数访问 URL
- xml - 如何使用 API 管理的 Set-body Policy 为 XML 元素设置值