Smoothly updates the content of an HTML element with an erase and write effect.
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.org/scripts/480392/1283450/updateContent.js
// ==UserScript==
// @name updateContent
// @namespace http://tampermonkey.net/
// @version 0.3
// @description Smoothly updates the content of an HTML element with an erase and write effect.
// @author IgnaV
// @grant none
// ==/UserScript==
const updateContent = (element, newContent, forceUpdate = false, totalTime = 2000) => {
const currentContent = element.innerText;
if (forceUpdate || currentContent !== newContent) {
const intervalTime = totalTime / (currentContent.length + newContent.length);
let i = currentContent.length - 1;
const eraseInterval = setInterval(() => {
element.innerText = currentContent.substring(0, i--);
if (i < 0) {
clearInterval(eraseInterval);
let j = 0;
const writeInterval = setInterval(() => {
element.innerText = newContent.substring(0, ++j);
if (j === newContent.length) {
clearInterval(writeInterval);
}
}, intervalTime);
}
}, intervalTime);
}
};