js 文字球状放大



<html>

<head>
<title>lanrentuku.com</title>
<meta http-equiv="imagetoolbar" content="no" charset="utf-8">
<style type="text/css">
body {cursor:crosshair;margin:0; padding:0; position:absolute; overflow:hidden; background:#000; left:0; top:0; width:100%; height:100%;}
span {position:absolute;font-family: verdana; font-weight: bold;}
</style>


<script type="text/javascript">


T    = "沈晖然";
I    = 0;
o    = new Array();
xm   = -1000;
ym   = -1000;
///
rad  = 80;
dim  = 200;
///
W    = 0;
H    = 0;
NX   = 14;
NY   = 14;
var nx;
var ny;

document.onmousemove = function(e){
if (window.event) e = window.event;
xm = (e.x || e.clientX) - (nx  * .5) + dim * .5;
ym = (e.y || e.clientY) - (ny * .5) + dim * .5;
}


function resize() {
nx = document.body.offsetWidth;
ny = document.body.offsetHeight;
}
onresize = resize;

function CObj(N,i,j,c){
this.obj = document.createElement("span");
this.obj.innerHTML = c;
DOOT.appendChild(this.obj);
this.N    = N;
this.To   = 16;
this.x0   = i*2*W;
this.y0   = j*2*H;
this.anim = true;

this.mainloop = function(){
  with (this) {
    dx   = xm - x0;
   dy   = ym - y0;
   dist = Math.sqrt(dx * dx + dy * dy);
   if (dist < rad) {
    anim = true;
    M    = Math.cos(.5 * Math.PI * Math.abs(dist / rad));
    c    = Math.round(84 + M * 171);
    with(obj.style){
     left     = x0 - dx * M;
     top      = y0 - dy * M;
     zIndex   = Math.round(100 + M);
     fontSize = 8 + M * W * 2;
     color    = "RGB("+c+","+c+","+c+")";
    }
   } else {
    if(anim){
     with(obj.style){
      left     = x0;
      top      = y0;
      zIndex   = 0;
      fontSize = 8;
      color    = "RGB(88,88,88)";
     }
    anim = false;
    }
   }
  }
}
}
function run(){
for(i in o)o[i].mainloop();
setTimeout(run,16);
}

onload = function (){
DOOT = document.getElementById("doot");
with(DOOT.style){
  left = -dim/2;
  top  = -dim/2;
  width = dim;
  height = dim;
}
resize();
W = (dim  / NX) / 2;
H = (dim / NY) / 2;
K = 0;
for(var j=0;j<NY;j++){
  for(var i=0;i<NX;i++){
   c=T.charAt((I++)%T.length).toUpperCase();
   if(c==" ")c="·";
   o[K] = new CObj(K++,i,j,c);
  }
}
run();
}

</script>
</head>


<body>

<span style="position:absolute;left:50%;top:50%">
<span id="doot"></span>
</span>


</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值