Пример текстового аниматора с бегущими строками.

hand.gif (969 bytes)Ограничения: 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"
style="position: absolute; left: 0; top: 140" onclick="breakf()"></div><Layer name="textanim" left: 0; top: 140>
</Layer>

</body>

Комментарий:
Абсолютные координаты left и top анимируемого текстового блока "textanim" укажите сами.

Источник материалов: http://dynamicdrive.com/


Copyright © 2001 г. Юрий Сергеев

При использовании материалов обязательна ссылка на
 
 http://www.crosswinds.net/~ysergeev/money.htm


Пример текстового аниматора с бегущими строками.

 

Хостинг от uCoz