Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/ui/textanimate/src/ |
Upload File : |
export class TextAnimate { constructor(options) { this.container = options.container; this.interval = options.interval; this.currentText = null; } setInterval(interval) { if(interval) this.interval = interval; } init(text) { text = text.trim(); this.currentText = this.container.innerText; let interval = setInterval( () => { let symbolRnd = parseInt(Math.random() * Math.max(text.length, this.currentText.length)); let symbolLink = text[symbolRnd]; if(typeof symbolLink === 'undefined') symbolLink = ' '; while(this.currentText.length < symbolRnd) this.currentText += ' '; this.currentText = (this.currentText.slice(0,symbolRnd) + symbolLink + this.currentText.slice(symbolRnd + 1)).trim(); this.container.innerText = this.currentText.length === 0 ? ' ' : this.currentText; if(text === this.container.innerText) clearInterval(interval); }, this.interval ? this.interval : 5) } }