Перед Вами - бегущая строка со словами бессмертных стихов.
Разберем этот пример:
<SCRIPT LANGUAGE='JavaScript'>
function banner(msg,ctrlwidth) {
msg = " --- "+msg
newmsg = msg
while (newmsg.length < ctrlwidth) {newmsg += msg}
document.write ('<FORM NAME="Banner">')
document.write ('<CENTER><INPUT NAME="banner" VALUE= "'+newmsg+'" SIZE= '+ctrlwidth+'></CENTER>')
document.write ('</FORM>')
rollmsg() }
function rollmsg() {
NowMsg=document.Banner.banner.value
NowMsg=NowMsg.substring(1,NowMsg.length)+NowMsg.substring(0,1)
document.Banner.banner.value = NowMsg
bannerid=setTimeout("rollmsg()",100) }
</SCRIPT> <SCRIPT language='JavaScript'>
banner("У попа была собака, он ее любил, она съела кусок маса, он ее убил, закопал и на могиле написал:",70) </script>
1. Функция banner() имеет 2 параметра:
- msg - текст сообщения для циклического вывода,
- ctrlwidth - ширина поля вывода в символах.
К тексту msg добавляем слева символы --- , чтобы не сливались предыдущий и последующий экземпляры текста.
В переменную newmsg запишем непрерывную последовательность из ctrlwidth экземпляров текста msg.
В форме Banner определяем текстовую переменную banner длиной ctrlwidth символов и с начальным значением newmsg.
Вызываем программу прокрутки rollmsg(). 2. Функция rollmsg() выполняет следующие действия:
- Записать в newmsg текущее содержимое строки текста,
- Самый первый символ текста переставляем в конец(здесь и достигается эффект прокрутки ,
- Полученный текст пересылается назад, в форму.
- Функция setTimeout("rollmsg()",100) выполняет задержку функции rollmsg с интервалом в 100 миллисекунд. 3. Вызываем функцию banner с соответствующими параметрами.