TOP /すぐに使えるJavaScript 追いかけるハート

<script type="text/javascript"><!--
n=20;           //ハートの数
msec=100;       //追従速度
hs=3;           //小さいハートの大きさ
wh=10;          //大きなハートの大きさ
//----------------------------------------------
for(i=0;i<n;i++){
document.write("<DIV style='position:absolute;width:14px;height:14px;z_index:2;top:-100px;left:-100px;filter: Alpha(opacity=80);'ID='Hearts"+i+"'><font size='"+hs+"'color=pink>&hearts;</font></DIV>");
}
mx=new Array();my=new Array();
for (i=0; i<=n; i++) {mx[i] = -100;my[i] = -100; }
function H_move(NNevent){
if(document.all){mx[0]=event.x;my[0]=event.y;}else{
mx[0]= NNevent.pageX;my[0]= NNevent.pageY;}
}

function H_run(){
for (i=n-1; i>=0; i--){
if(i){mx[i] = mx[i-1];my[i] = my[i-1];}
if(i<(n/2)){
xh=mx[i]+wh*i*Math.cos(i*2*3.14/n+3.14/2);
yh=my[i]-wh*i*Math.sin(i*2*3.14/n+3.14/2);
}else{
xh=mx[i]+wh*(n-i)*Math.cos(i*2*3.14/n+3.14/2);
yh=my[i]-wh*(n-i)*Math.sin(i*2*3.14/n+3.14/2);
}
if(document.all){
document.all["Hearts"+i].style.pixelTop = -25+yh+document.documentElement.scrollTop;
document.all["Hearts"+i].style.pixelLeft = -10+xh+document.documentElement.scrollLeft;
}else{
document.getElementById("Hearts"+i).style.top=-25+yh+"px";
document.getElementById("Hearts"+i).style.left=-10+xh+"px";
}}
}
setInterval('H_run()',msec);
document.onmousemove = H_move;/* himajin.moo.jp */
// --></script>