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);
}
};