милый посимвольный вывод текста
когда программисту хочется отдохнуть, он иногда пишет программы для души.
вот и я написал маленький скрипт для банального, но симпатичного вывода текста. может когда-нибудь куда-нибудь прикручу (хотя вряд ли). собсна демка - тыц. сам скрипт написан на vanilla JS, но в демке для мерцания курсора подключил jQuery. сделал несколько параметров для кастомизации - если открыть исходный код, станет ясно что к чему. |
На чистом JS можно зделать в 10 строк ).
|
а чем тебе vanilla JS не угодил? :p
|
keen,
так все отлично, тока вместо setTimeout лучше юзай setIntrerval |
keen,
Звук бы еще прилепить: Cкрябанья по бумаге, либо подобие принтера |
Цитата:
fSuccess: function () { var printer = $('#printer'), str = printer.html(), flag = false, iId; iId = setInterval(function () { flag = !flag; printer.html(str + (flag ? 'в–€' : '')); }, 500); setTimeout(function () { clearInterval(iId); }, 60 * 1000); } Чтобы каждый раз не юзать $('#printer'). :) Цитата:
flag ^= 1; Но это уже наверное дело вкуса. :D А так прикольно сделано, + ;) |
Цитата:
сеттаймаут у меня - чтобы через минуту курсор перестал моргать. нахрена там интервал? Цитата:
мелочи.. Цитата:
|
Цитата:
скрипт можно модифицировать до бесконечности :agree: |
Цитата:
fPrint = function (x) { var fin1 = (x + 1 < str.length) ? str[x + 1] : '', fin2 = (x + 2 < str.length) && !(str[x] in splitter) && !(str[x + 1] in splitter) ? str[x + 2] : ''; element.innerHTML = '<div>' + str.substr(0, x + 1).replace('\n', '<br/>', 'g') + '<span class="' + options.style1 + '">' + fin1 +'</span>' + '<span class="' + options.style2 + '">' + fin2 + '</span>'; *!* setTimeout(function () { */!* if (x < str.length - 1) { return fPrint(++pos); } options.fSuccess(); }, fIntervaler(str[x + 1])); }; |
ты не уловил суть :-?
там интервал меняется в зависимости от выводимых символов - так, например, после точки он чуть больше. вывод получается более человеческий: закончили предложение - подождали немного прежде чем выводить следующее. |
Часовой пояс GMT +3, время: 15:48. |