Вернутся к Приемам HTML | Home (на главную) | htmljava.narod.ru

Координаты курсора мыши.

Как определить координаты курсора мыши? Это делается элементарно с помощью Javascript!
Пример: этот скрипт хранит текущие координаты курсора мыши в переменных xpos и ypos и автоматически обновляет их при перемещении курсора.
<script language="javascript1.2"><!--
var xpos;
var ypos;

function imouse(){
ypos=event.y+document.body.scrollTop;
xpos=event.x+document.body.scrollLeft;
}
document.onmousemove=imouse; --></script>
Обратите внимание, что координаты отсчитываются от начала документа, а не экрана. Это из-за того, что к event.x и y мы прибавили document.body.scrollTop и scrollLeft соответственно.

Ниже приведем пример того, что можно сделать с помощью этого и нескольких других, уже известных нам приемов.
Пример: этот скрипт рисует мух, которые сейчас вьются вокруг курсора мышки :-).
<script language="JavaScript"><!--
var amount=4;
var ypos=0;
var xpos=0;
ang1step=new Array();
ang1=new Array();
ang2step=new Array();
ang2=new Array();
radius=new Array();
wdt=new Array();
for (i=0; i < amount; i++){
document.write('<div id="planet'+i+'" style="position:absolute;top:0px;left:0px;'); document.write('width:32px;height:32px;font-size:2px;"><img src="fly.gif"></div>');
ang1step[i]=Math.random()*0.15+0.1;
ang1[i]=i;
ang2[i]=i;
ang2step[i]=Math.random()*0.05+0.005;
radius[i]=Math.random()*50+50;
wdt[i]=Math.random()*5+5;
}
function iMouse(){
ypos=event.y+document.body.scrollTop;
xpos=event.x+document.body.scrollLeft;
}
document.onmousemove=iMouse;
function flash(){
for (i=0; i < amount; i++){
ang1[i]+=ang1step[i];
ang2[i]+=ang2step[i];
var y1=radius[i]*Math.sin(ang1[i])/wdt[i];
var x1=radius[i]*Math.cos(ang1[i]);
eval('document.all["planet'+i+'"].style.top=ypos+x1*Math.sin(ang2[i])+y1*Math.cos(ang2[i]);');
eval('document.all["planet'+i+'"].style.left=xpos+x1*Math.cos(ang2[i])-y1*Math.sin(ang2[i]);');
if(ang1[i]>6.28){ang1[i]-=6.28;};
if(ang2[i]>6.28){ang1[i]-=6.28;};
}
setTimeout("flash()",50);
}
window.onload=flash;
--></script>

В заключение хотелось бы добавить, что определение координат мышки может понадобится не только для чисто визуальных эффектов. Этот прием, например, может пригодится для написяния on-Line игр на Javascript.
Вернутся к Приемам HTML | Home (на главную) | htmljava.narod.ru
Сайт управляется системой uCoz