Бегущая Строка


   Перед Вами - бегущая строка со словами бессмертных стихов.
Разберем этот пример:

<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 с соответствующими параметрами.


[ Предыдущий раздел ] [ Оглавление ] [ Следующий раздел ]


 

 
Hosted by uCoz