google眼睛的实现

没事写的.

js实现眼睛随鼠标运动.就是眼睛一直盯着鼠标看.

图片:

pupil:       eye-r:     eye-y:

 

就是三图片.  我写的时候用的是gif格式的.但是传到巴巴变相册之后好像变成了jpg.但问题不大.

 

效果图:


代码:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JavaScript眼睛</title>
<style>
body{
height:1000px;
}
</style>
<script>
      var eye1_X=0;
	  var eye1_Y=0;
	  var eye2_X=0;
	  var eye2_Y=0;
	  var R=43;
  
  function getCenter(){
      eye1_X=document.getElementById("eyeborder1").offsetLeft+document.getElementById("eyeborder1").offsetWidth/2-7;
	  eye1_Y=59;
	  eye2_X=document.getElementById("eyeborder2").offsetLeft+document.getElementById("eyeborder2").offsetWidth/2-7;
	  eye2_Y=59;
	  document.getElementById("eye1_id").style.posTop=eye1_Y;
	  document.getElementById("eye1_id").style.posLeft=eye1_X;
	  document.getElementById("eye2_id").style.posTop=eye2_Y;
	  document.getElementById("eye2_id").style.posLeft=eye2_X;
  }
  
  function moveEye(event){
	  //得到眼框的中心
	 /* var eye1_X=379;var eye1_Y=58;
	  var eye2_X=495;var eye2_Y=58;*/
	  eye1_X=document.getElementById("eyeborder1").offsetLeft+document.getElementById("eyeborder1").offsetWidth/2-7;
	  eye1_Y=59;
	  eye2_X=document.getElementById("eyeborder2").offsetLeft+document.getElementById("eyeborder2").offsetWidth/2-7;
	  eye2_Y=59;
	  //鼠标位置判断
	  var r1=Math.sqrt((event.clientX-eye1_X)*(event.clientX-eye1_X)+(event.clientY-eye1_Y)*(event.clientY-eye1_Y));
	  if(r1<R){//鼠标在圆1内部
	       document.getElementById("eye1_id").style.posTop=event.clientY;
	       document.getElementById("eye1_id").style.posLeft=event.clientX;
	  }else{
	       document.getElementById("eye1_id").style.posLeft=R*(event.clientX-eye1_X)/r1+eye1_X;
		   document.getElementById("eye1_id").style.posTop=R*(event.clientY-eye1_Y)/r1+eye1_Y;
	  }
	  
	  var r2=Math.sqrt((event.clientX-eye2_X)*(event.clientX-eye2_X)+(event.clientY-eye2_Y)*(event.clientY-eye2_Y));
	  if(r2<R){//鼠标在圆2内部
	        document.getElementById("eye2_id").style.posTop=event.clientY;
	        document.getElementById("eye2_id").style.posLeft=event.clientX;
	  }else{
	        document.getElementById("eye2_id").style.posLeft=R*(event.clientX-eye2_X)/r2+eye2_X;
		    document.getElementById("eye2_id").style.posTop=R*(event.clientY-eye2_Y)/r2+eye2_Y;
	  }
  }

</script>
</head>
<body id="mybody" οnmοusemοve="moveEye(event)"  οnlοad="getCenter()">
<div id="eyeborder"><center><img id="eyeborder1" src="eye-r.gif"><img id="eyeborder2" src="eye-y.gif"/></center></div>
<div id="text_id"></div>
<div style="position:absolute;" id="eye1_id"><img src="pupil.gif"></div>
<div style="position:absolute;" id="eye2_id"><img src="pupil.gif"></div>
</body>
</html>
  • 大小: 419 Bytes
  • 大小: 8.1 KB
  • 大小: 7.3 KB
  • 大小: 4.9 KB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值