Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.10.2013, 15:03
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

милый посимвольный вывод текста
когда программисту хочется отдохнуть, он иногда пишет программы для души.
вот и я написал маленький скрипт для банального, но симпатичного вывода текста. может когда-нибудь куда-нибудь прикручу (хотя вряд ли).

собсна демка - тыц.

сам скрипт написан на vanilla JS, но в демке для мерцания курсора подключил jQuery.
сделал несколько параметров для кастомизации - если открыть исходный код, станет ясно что к чему.

Последний раз редактировалось keen, 14.10.2013 в 11:59.
Ответить с цитированием
  #2 (permalink)  
Старый 11.10.2013, 23:55
Аспирант
Отправить личное сообщение для domius Посмотреть профиль Найти все сообщения от domius
 
Регистрация: 27.09.2013
Сообщений: 39

На чистом JS можно зделать в 10 строк ).
Ответить с цитированием
  #3 (permalink)  
Старый 11.10.2013, 23:57
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

а чем тебе vanilla JS не угодил?
Ответить с цитированием
  #4 (permalink)  
Старый 12.10.2013, 00:09
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

keen,
так все отлично, тока вместо setTimeout лучше юзай setIntrerval
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 12.10.2013, 00:24
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

keen,
Звук бы еще прилепить: Cкрябанья по бумаге, либо подобие принтера
Ответить с цитированием
  #6 (permalink)  
Старый 12.10.2013, 18:06
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Цитата:
fSuccess: function () {
var str = $('#printer').html(),
flag = false,
iId;

iId = setInterval(function () {
flag = !flag;
$('#printer').html(str + (flag ? 'в–€' : ''));
}, 500);

setTimeout(function () {
clearInterval(iId);
}, 60 * 1000);
}
Конечно мелочи, но всё же лучше сделать так:

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 = !flag;
Иногда так делаю:
flag ^= 1;

Но это уже наверное дело вкуса.

А так прикольно сделано, +
Ответить с цитированием
  #7 (permalink)  
Старый 14.10.2013, 12:04
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

Сообщение от devote Посмотреть сообщение
keen,
так все отлично, тока вместо setTimeout лучше юзай setIntrerval
зачем
сеттаймаут у меня - чтобы через минуту курсор перестал моргать. нахрена там интервал?

Сообщение от Ruslan_xDD Посмотреть сообщение
Конечно мелочи, но всё же лучше сделать так:
var printer = $('#printer')

Чтобы каждый раз не юзать $('#printer').
угу. там ещё в одном месте длина строки дважды считается, можно вынести var len = str.length
мелочи..

Сообщение от Ruslan_xDD Посмотреть сообщение
Иногда так делаю:
flag ^= 1;

Но это уже наверное дело вкуса.
ну это, согласись, не так очевидно как c "!"
Ответить с цитированием
  #8 (permalink)  
Старый 14.10.2013, 12:09
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

Сообщение от Deff Посмотреть сообщение
keen,
Звук бы еще прилепить: Cкрябанья по бумаге, либо подобие принтера
либо попискивания, как в фильме "матрица", либо..

скрипт можно модифицировать до бесконечности
Ответить с цитированием
  #9 (permalink)  
Старый 14.10.2013, 12:55
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от keen
сеттаймаут у меня - чтобы через минуту курсор перестал моргать. нахрена там интервал?
не заметно:
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]));
    };
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #10 (permalink)  
Старый 14.10.2013, 13:17
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

ты не уловил суть
там интервал меняется в зависимости от выводимых символов - так, например, после точки он чуть больше.
вывод получается более человеческий: закончили предложение - подождали немного прежде чем выводить следующее.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод картинки и текста при наведении мышкой на ссылку exponat Элементы интерфейса 0 16.09.2013 15:51
Вывод текста из JS файла в атрибут div на html страничке. help Kreol Общие вопросы Javascript 11 15.12.2012 13:08
Вывод текста в разных блоках Павел Хрушков jQuery 0 18.08.2012 06:45
Скрипты отправка сообщений между пользователями, скрипт вывод текста на страницу.... Rapala Элементы интерфейса 2 12.01.2011 17:27
Вывод текста по времени Madjahet Элементы интерфейса 15 14.04.2010 17:19