Оживи свою страничку
Спецвыпуск хакер, номер #002, стр. 002-014-5
x0=Math.round(realx); y0=Math.round(realy);
moveit(); tid=setTimeout('moveall()',100);
}
</script>
Этот текст необходим для вычисления положения курсора на экране и перемещения надписи вслед за курсором. Тут нет ничего сложного - только математические формулы. Ты, как кул хацкер, в них обязательно разберешься. ;) Если нет, то сходи к своему другу "ботанику" (привет, Шурик!), и он тебе объяснит, что к чему. Построите пару-тройку трехмерных графиков зависимости температуры на кулере и положения курсора на экране. Так, чего-то я отвлекся.
<script for="document" Event="onmousemove()">
ex=document.body.scrollLeft+event.x;
ey=document.body.scrollTop+event.y;
</script>
Этот скрипт реагирует на движение мыши и вызывает "нужные" функции.
<DIV ID="cur" STYLE="position:absolute; top: 100; left:100;" ><h1> Я ХАКЕР! </h1></DIV>
Тут мы создаем объект, который будет двигаться по страничке вслед за курсором. Вместо слов "Я ХАЦКЕР!" ты можешь вставить какую-нибудь картинку (<img scr="http://www.microsoft.com/ms_suxx_logo.jpg">).
</body></html>
Заканчиваем документ. Ну, как? Сложно? Мне почему-то кажется, что НЕТ. ;)
Печатная машинка
Еще один потрясающий по своей простоте эффект: строка текста печатается, а потом стирается.
<html>
<script language="javascript">
var delay=20;var nextm=0;
var link=0;var numb=0;
Начинаем файл, устанавливаем задержку между появлением букв текста.
var msg=new Array
('Вася','самый крутой','хакер');
Создаем массив из нескольких фраз, которые будут печататься на страничке. Также ты можешь добавить или поменять (слово "хакер" на "ламер") тут что-нибудь.
function doit(text, pos, dir)
{ var out='[ '+text.substring(0, pos)+' ]';
stroka.innerHTML=out;
pos+=dir;
if(pos>text.length)
setTimeout('doit("'+text+'",'+pos+','+(-dir)+')', delay*100);
else {
if(pos<0){
if(++nextm>=msg.length)nextm=0;
link=link+1
if (link>=numb+1)link=1;
text=msg[nextm];dir=-dir;
}
setTimeout('doit("'+text+'",'+pos+','+dir+')', delay);
}
}
Эта функция вызывается при загрузке страницы (ее вызов находится дальше). Она печатает текст на экране или наоборот стирает его. Длина строки и количество надписей определяется операторами "text.length" и "msg.length" соответственно.
</script>
<body bgcolor="#000000" text="#00FF00" onload="doit(msg[0], 0, 1)">
<div id="stroka"></div>
</body>
</html>
Здесь нет ничего нового. Все это было описано выше на аналогичных примерах.
Всплывающее меню
Вот еще один пример украшательства страничек с помощью DHTML.
<html>
<BODY onload="init()">
<style>
.menu
{ position: absolute;
top:-200;
width: 200;
padding:5;
border-width: 1;
border-style: solid;
background: white;
color: red;
}
</style>
Все понятно? Думаю, да.
<script>
var mpos=new Array();
var mdir=new Array();
var maxmenus=3;
var delay=1;
function do_menu(e, menu)
{ mdir[menu]=-mdir[menu];
if(mpos[menu]<=-130)
{ if(document.layers)
{ document.layers["menu"+menu].top=e.pageY-130;
document.layers["menu"+menu].left=e.pageX;
} else {