JS: Интересен текст
Публикувана на 06 ное 2010, в 22:50 часаДобавена от Златко в категория JavaScript
Здравейте, скоро взаимствах една идея от потребител, в едно форумче. Тоест, на момчето му трябваше такава функцийка и аз му я написах, дано да му помогне. Та реших и да я споделя и във блога си, ефекта си е доста ... интересен, сам по себе си, макар и да съм виждал доста по-развити функции за такъв род дейност. Все пак ето я и нея, добавил съм почти на всеки ред коментар, така че ще ги спестя в самата статия :>
- <script type="text/javascript" charset="utf-8">
- // Създаваме две глобални променливи, една за таймера, и една за брояча
- var t,sec,x = 0;
- // Създаваме и самата функция, със звучното име ma3x.
- // Като параметри и подаваме стринг, който ще трябва да изпише.
- // Вторият параметър е опционален, и е за времето на таймера (дали да е произволен, или статичен)
- function ma3x(text,random) {
- // Ако тепърва стартираме функцията, трием текущия стринг
- if ( x == 0 ) { document.getElementById('ma3x').innerHTML = ''; }
- // тук правим една проверка, ако стринга е свършил (тоест, сме го изписали) спираме таймера и нулираме брояча
- if ( text.length <= x && t ) { clearTimeout(t); sec = 0; x = 0; return; }
- // В противен случай, работим по въпроса
- document.getElementById('ma3x').innerHTML += (text.substr(x,1)); x++;
- random = !random ? false : true;
- sec = ( !random ? 1000 : Math.ceil(2000*Math.random()) );
- console.log(sec);
- // Тук правим една малка проверка, дали следващия символ е празен стринг.Ако е празен стринг, просто го показваме, без да губим време, за да не губим ефекта
- if ( text.substr(x,1) != ' ' ) { t = setTimeout('ma3x(\'' + text + '\',' + random + ')',sec); }
- else { ma3x(text,random); }
- }
- </script>
Та остава да си направите едно див-че, с id="ma3x" и да активирате по някакъв начин функцийката.
Демо, както и целия код - може да видите тук










