Пример текстового аниматора с бегущими строками. |
Ограничения: Netscape 4.0+ или Microsoft Internet Explorer 4.0+. |
Описание: |
Эффект состоит в том, что на
экране плавно появляются и изчезают текстовые
сообщения, каждое сообщение можно связать с
конкретным URL, также можно настроить цвет, фон,
указать время чередования сообщений.
Единственный недостаток этого сценария - то, что
точное местоположение анимационного текстового
блока на Вашей странице Вы должны установить
вручную сами. Просто скопируйте указанный ниже
код в указанном месте (не вставляйте код внутрь
тэгов, таблиц и т.д.).
|
Инструкция: |
Шаг 1. В тэг <head> Вашей HTML-страницы вставьте следующий код: |
<head> <meta name="GENERATOR" content="Microsoft FrontPage 3.0"> <style type="text/css"> // Определяем атрибуты шрифта для текстового аниматора <!-- .textanimlink,a { text-decoration : none; } P.main { font-family : Arial; font-size : 15pt; font-weight : bold; } --> </style> <title>Пример анимации текста</title> </head> |
Шаг 2. В тэг <body> поместите следующий код: |
<body> <script Language="JavaScript"><!-- // Начало /* Библиотека скриптов Юрия Сергеева, http://www.crosswinds.net/~ysergeev/money.htm EMail: ysergeev@mail.ru */ bname=navigator.appName; bversion=parseInt(navigator.appVersion) if ((bname=="Netscape" && bversion>=4) || (bname=="Microsoft Internet Explorer" && bversion>=4)) window.onload=start else stop(); window.onunload=stop if (bname=="Netscape"){ brows=true // dt = величина задержки при прокрутке строк dt=2 } else{ brows=false dt=0 } var z=0; var msg=0; var rgb=0; var link=false; var status=true; var updwn=false; var message= new Array(); var value=0; var h=window.innerHeight; var w=window.innerWidth; var timer1; var timer2; var timer3; var convert = new Array() var hexbase= new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"); // Здесь Вы можете разместить свои собственные сообщения, настроить цвет var bgcolor="#FFFFFF"; //Цвет фона var color="#00008D"; //Цвет символов message[0]='Пример JavaScript' message[1]='Простое и удобное использование' message[2]='Кода динамического управления DHTML' message[3]='<a target="_blank" href="http://www.crosswinds.net/~ysergeev/money.htm"> Бесплатный софт, Web-дизайн, полезные советы: -> Нажимай!</a>' // дальше редактировать ничего НЕ надо! for (x=0; x<16; x++){ for (y=0; y<16; y++){ convert[value]= hexbase[x] + hexbase[y]; value++; } } redx=color.substring(1,3); greenx=color.substring(3,5); bluex=color.substring(5,7); hred=eval(parseInt(redx,16)); hgreen=eval(parseInt(greenx,16)); hblue=eval(parseInt(bluex,16)); eredx=bgcolor.substring(1,3); egreenx=bgcolor.substring(3,5); ebluex=bgcolor.substring(5,7); ered=eval(parseInt(eredx,16)); egreen=eval(parseInt(egreenx,16)); eblue=eval(parseInt(ebluex,16)); red=ered; green=egreen; blue=eblue; function start(){ if ((bname=="Netscape" && bversion>=4) || (bname=="Microsoft Internet Explorer" && bversion>=4)){ link=false; updwn=true; if (brows) res=document.layers['textanim'].top else{ textanim.style.width=document.body.offsetWidth-20; textanim.innerHTML='<Pre><P Class="main" Align="Center">'+message[msg]+'</P></Pre>' res=textanim.style.top for (x=0; x<document.all.length; x++) if(document.all[x].id=="textanimlink") link=true; } up() } } function stop(){ clearTimeout(timer1); clearTimeout(timer2); clearTimeout(timer3); } function resz(){ h=window.innerHeight; w=window.innerWidth; if (updwn) timer1=setTimeout('up()',1000) else timer2=setTimeout('down()',1000) } function breakf(){ if (status){ clearTimeout(timer1); clearTimeout(timer2); status=false return; } else{ status=true; if (updwn) timer1=setTimeout('up()',dt) else timer2=setTimeout('down()',dt) } } function up(){ if (red<hred){ if ((red+7)<hred) red+=7; else red=hred redx = convert[red] } else{ if ((red-7)>hred) red-=7; else red=hred redx = convert[red] } if (green<hgreen){ if ((green+7)<hgreen) green+=7; else green=hgreen greenx = convert[green] } else{ if ((green-7)>hgreen) green-=7; else green=hgreen greenx = convert[green] } if (blue<hblue){ if ((blue+7)<hblue) blue+=7; else blue=hblue bluex = convert[blue] } else{ if ((blue-7)>hblue) blue-=7; else blue=hblue bluex = convert[blue] } rgb = "#"+redx+greenx+bluex; if (brows){ document.layers['textanim'].document.linkColor=rgb; document.layers['textanim'].document.vlinkColor=rgb; if (window.innerHeight!=h || window.innerWidth!=w){ clearTimeout(timer1); resz() return; } else{ document.layers['textanim'].document.write('<Pre><P Class="main" Align="Center"><font color="'+rgb+'">'+message[msg]+'</font></P></Pre>') document.layers['textanim'].document.close(); } } else{ textanim.style.color=rgb; if(link) textanimlink.style.color=rgb; } // z = число пикселей для прокрутки вверх if (z<76){ if (brows) document.layers['textanim'].top-- else textanim.style.posTop-- z++ timer1=setTimeout('up()',dt) } else { updwn=false; down() } } function down(){ if (red<ered){ if ((red+7)<ered) red+=7; else red=ered redx = convert[red] } else{ if ((red-7)>ered) red-=7; else red=ered redx = convert[red] } if (green<egreen){ if ((green+7)<egreen) green+=7; else green=egreen greenx = convert[green] } else{ if ((green-7)>egreen) green-=7; else green=egreen greenx = convert[green] } if (blue<eblue){ if ((blue+7)<eblue) blue+=7; else blue=eblue bluex = convert[blue] } else{ if ((blue-7)>eblue) blue-=7; else blue=eblue bluex = convert[blue] } rgb = "#"+redx+greenx+bluex; if (brows){ document.layers['textanim'].document.linkColor=rgb; document.layers['textanim'].document.vlinkColor=rgb; if (window.innerHeight!=h || window.innerWidth!=w){ clearTimeout(timer2); resz() return; } else{ document.layers['textanim'].document.write('<Pre><P Class="main" Align="Center"><font color="'+rgb+'">'+message[msg]+'</font></P></Pre>') document.layers['textanim'].document.close(); } } else{ textanim.style.color=rgb; if(link) textanimlink.style.color=rgb; } // число пикселей для прокрутки if (z<152){ if (brows) document.layers['textanim'].top-- else textanim.style.posTop-- z++ timer2=setTimeout('down()',dt) } else { if (brows){ document.layers['textanim'].document.write('') document.layers['textanim'].document.close(); } else textanim.innerHTML=''; window.clearInterval(timer2); if(msg<message.length-1){ msg++; z=0; if (brows){ document.layers['textanim'].top=res; } else textanim.style.top=res; timer3=setTimeout('start()',100); } else { msg=0; z=0; if (brows) document.layers['textanim'].top=res; else textanim.style.top=res; timer3=setTimeout('start()',2000); } } } // Конец // --></script> <div id="textanim" |
Комментарий: Абсолютные координаты left и top анимируемого текстового блока "textanim" укажите сами. |
Источник материалов: http://dynamicdrive.com/ |
Copyright © 2001 г. Юрий Сергеев |
При
использовании материалов обязательна ссылка на http://www.crosswinds.net/~ysergeev/money.htm |
Пример текстового аниматора с бегущими строками. |