Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   эффект печатания текста на клаве (https://javascript.ru/forum/misc/1497-ehffekt-pechataniya-teksta-na-klave.html)

Classi 31.07.2008 15:38

эффект печатания текста на клаве
 
что нужно для того, чтобы текст печатался, например "это событие было в 2004" . а потом чтобы 2004 удалилось и вместо него печаталось 2006.
и чтобы это повторялось бесконечно.

ZoNT 31.07.2008 16:35

для этого нужно написать такой скрипт...

Classi 31.07.2008 16:40

какой скрипт
 
какой скрипт?

ZoNT 31.07.2008 16:53

джава... скрипт...

Dmitry A. Soshnikov 31.07.2008 21:44

Classi,

<span onclick="this.innerHTML = '2006'; return true;">2004</span>


Дальше - разовьете. Где непонятно - спрашивайте. Скорей всего, вам нужно будет менять текст по таймауту, поэтому посмотрите заранее методы setTimeout(...) / setInterval(...).

Kolyaj 31.07.2008 22:22

Dmitry A. Soshnikov, ваш ответ круче по бесполезности совета ZoNT'а :)

Dmitry A. Soshnikov 31.07.2008 23:31

Kolyaj, серьезно? :D А почему?

Kolyaj 31.07.2008 23:37

Из сообщения ZoNT'а хотя бы понятно, что скрипт писать все-таки придется, а из вашего ничего не понятно. :)

З.Ы. Я-то понимаю, что вы имели в виду, но это только потому, что я знаю ответ.

Dmitry A. Soshnikov 31.07.2008 23:42

Kolyaj, не стоит недооценивать людей - возможно, Classi понимает побольше вашего (и не важно, что в данном конкретном случае - по анализу построения вопроса - это может быть не так) :)

А вот чтобы проверить на каком уровне стоит отвечать - используется такая незамысловатая тактика (кто знает - может человек щас скажет - "а-а-а, вот как раз мне innerHTML свойство и надо было узнать!"). Если же ответ будет - "А что такое onclick" - то уже будет другой подход в объяснении - значит надо будет больше на основах акцентироваться. Anyway, приводить готовый код сразу же после вопроса - какой смысл? А так - человек сам (с нашей помощью) научится.

Kolyaj 01.08.2008 00:01

Цитата:

Сообщение от Dmitry A. Soshnikov
А так - человек сам (с нашей помощью) научится.

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

Dmitry A. Soshnikov 01.08.2008 00:04

Classi,

(по просьбе Kolyaj :))

- надо написать скрипт (на языке JavaScript);

- первую часть текста ("это событие было в") можно сделать статической (скрипт ее трогать не будет);

- посмотреть функцию setTimeout(...) (или setInterval(...)), которая первым параметром принимает функцию, вторым - интервал времени в миллисекундах - для выполнения функции по истечении этого самого интервала;

- менять в функции свойство innerHTML второй (динамической) части текста (текст лучше поместить в какой-нибудь контейнер, например span)

Пример:

function menyayTextVSpane() { // какое красивое название, не правда ли, Kolyaj? Чтобы его придумать, я потратил всего "10 минут" =) А как же? Надо ж думать, - может человек английский не знает, а я ему щас вот так не по-человечески непонятно напишу - changeTextInSpan =)
  var predidusheeZnachenie = document.getElementById('test').innerHTML;
  if (predidusheeZnachenie == '2004') {
    document.getElementById('test').innerHTML = '2006';
    return true;
  }
  document.getElementById('test').innerHTML = '2004';
  window.setTimeout(menyayTextVSpane, 1000);
}
menyayTextVSpane();


это событие было в <span id="test">2004</span>


=)


P.S.: 96,5% подобных случаев - Ctrl+C (здесь), Ctrl+V (у себя в редакторе) - и все, забыли этот сайт (да и JavaScript в целом) до следующей подобной "великой проблемы" (конечно ж - там ведь есть Kolyaj, который всегда полностью все нам распишет по первому требованию (это ж его основное занятие, наверно?); Шутка =) не принимайте близко к сердцу)

Dmitry A. Soshnikov 01.08.2008 00:04

Kolyaj, упс =) вы уже ответили сами в эту "точку".

Kolyaj 01.08.2008 00:31

Цитата:

Сообщение от Dmitry A. Soshnikov
по просьбе Kolyaj

Нененене :)

Андрей Параничев 01.08.2008 16:24

Dmitry A. Soshnikov,
Мне кажется вы неправильно поняли проблему, имхо, автор темы желал скрипт, который бы вводил посимвольно с задержкой надпись "это событие было в 2006", а потом (опять же посимвольно) 2004 удалялось и печаталось 2006. Но это такая неинтересная и тривиальная задача, что даже жалко времени тратить на её решение.

Akzhan 01.08.2008 20:24

Я бы для данной задачи нарисовал всё в виде анимированного GIF, чтобы не париться.

А если хочется париться, то setInterval(меняем текст по одной букве, 200);

Dmitry A. Soshnikov 02.08.2008 01:28

Андрей Параничев,

Цитата:

Сообщение от Андрей Параничев
Мне кажется вы неправильно поняли проблему

да, я заметил, что содержание темы с заголовком не сходится (я приводил пример для содержания, а потом увидел, что заголовок - про другое =))


Часовой пояс GMT +3, время: 23:23.