refresh()
再次手动分割文本,同时考虑任何参数更改。
const split = text.split(target);
split.html = 'Some new text to split';
split.refresh();
可以安全手动更新的属性有
名称 | 描述 |
---|---|
$target | 被分割的元素 (HTMLElement ) |
html | 要分割的HTML (String ) |
调试 | 定义调试样式是否可见 (Boolean ) |
包含空格 | 定义空格是否应包含在文本中 (Boolean ) |
可访问性 | 定义是否应创建可访问的克隆元素 (Boolean ) |
lineTemplate | 行 HTML模板 (String ) |
wordTemplate | 单词 HTML模板 (String ) |
charTemplate | 字符 HTML模板 (String ) |
返回
TextSplitter
refresh() 代码示例
import { animate, stagger, text } from 'animejs';
const [ $add, $remove ] = utils.$('button');
const [ $p ] = utils.$('p');
const split = text.split('p', {
lines: { wrap: 'clip' },
debug: true,
});
split.addEffect((self) => animate(self.words, {
y: ['0%', '75%'],
loop: true,
alternate: true,
ease: 'inOutQuad',
delay: stagger(150)
}));
const words = ['sit', 'amet', 'consectetur', 'adipiscing', 'elit', 'tortor', 'lectus', 'aliquet'];
const addRandomWord = () => {
split.html += ' ' + utils.randomPick(words);
split.refresh();
}
const removeRandomWord = () => {
const words = split.words.map(w => w.innerHTML);
split.html = (words.splice(utils.random(0, words.length - 1), 1), words).join(' ');
split.refresh();
}
$add.addEventListener('click', addRandomWord);
$remove.addEventListener('click', removeRandomWord);
<div class="large centered row">
<p class="text-xl">Lorem ipsum dolor</p>
</div>
<div class="medium row">
<fieldset class="controls">
<button>Add word</button>
<button>Remove word</button>
</fieldset>
</div>