javascript - 如何在 foreach 循环中为我的动画文本延迟 .append
问题描述
嗨,我的动画会向上滑动文本,但速度太快,我想放慢速度。我正在使用 .pend 让动画正常工作。
这是我的代码,我只想减慢附加的速度
$splitByWords.each(function () {
var $this = $(this);
var words = $this.text().split(" ");
$this.empty();
var space;
$.each(words, function (i, v) {
space = v === ' ' ? ' class="space"' : '';
$this.append("<span" + space + ">" + v + "</span>";
});
});
谢谢,
解决方案
你可以把它包setTimeout
起来。请注意,增加超时时间很重要,否则,单词会延迟出现,但会同时出现。据我了解,您希望一个词一个接一个地出现,每个词之间有短暂的延迟。
另请注意,未使用在您的代码中创建space
变量的语句,因此我在此省略。您定义words
为用空格分割一些文本。因此,单词数组将不包含任何单个空格字符。因此,用于赋值的三元运算符space
总是返回相同的值。
var $this = $(this);
const words = $this.text().split(" ");
$this.empty();
$.each(words, function (i, v) {
setTimeout(function () {
$this.append(`<span>${v}</span>`);
}, i * 100);
});
推荐阅读
- javascript - 在视觉工作室代码扩展中返回一个单词
- html - 消除操作系统/浏览器添加的滚动空间
- node.js - 节点js服务器propplem
- git - GitFlow 工作流,从 UpStream Master 拉取,然后合并成什么?
- c++ - Leadtools 没有足够的可用内存
- c++ - 如何解决 C++ 中的“cppcoreguidelines-pro-type-cstyle-cast”错误?
- batch-file - 有没有办法将长而重复的“设置”命令缩小为单个命令?
- javascript - JavaScript 中的错误
- javascript - 在hackerearth中执行此问题时,将数组的元素相乘会为javascript中的大量输入提供无穷大
- python - 来自 youtube 的“如何在 Python 中创建医院管理系统”-语法错误