现在的位置: 首页 > 综合 > 正文

仿265网址导航logo的两只眼睛跟随鼠标移动js实现方法

2018年04月09日 ⁄ 综合 ⁄ 共 1957字 ⁄ 字号 评论关闭
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
  5. <title>神秘的眼睛跟随鼠标移动</title> 
  6. <style type="text/css"> 
  7. .eye{ 
  8.  display:inline; 
  9.  overflow:hidden; 
  10.  position:relative; 
  11.  float:left; 
  12.  margin:50px 0 0 50px; 
  13.  width:50px; 
  14.  height:50px; 
  15.  font-size:50px; 
  16.  line-height:106%; 
  17.  +line-height:normal; 
  18.  cursor:default; 
  19. @media all and (min-width:0px){ 
  20. .eye{line-height:normal;} 
  21. .pupil{ 
  22.  overflow:hidden; 
  23.  position:absolute; 
  24.  margin:-5px 0 0 -5px; 
  25.  width:10px; 
  26.  height:10px; 
  27.  line-height:normal; 
  28.  font-size:10px; 
  29.  top:50%; 
  30.  left:50%; 
  31. </style> 
  32. </head> 
  33. <body> 
  34. <div id="leftEye" class="eye"><span id="leftPupil" class="pupil"></span></div> 
  35. <div id="rightEye" class="eye"><span id="rightPupil" class="pupil"></span></div> 
  36. <input name="" id="xy" type="text" /> 
  37. <script type="text/javascript"> 
  38. var $=function(o){return document.getElementById(o)} 
  39. var leftEye=$("leftEye"); 
  40. var rightEye=$("rightEye"); 
  41. var leftPupil=$("leftPupil"); 
  42. var rightPupil=$("rightPupil"); 
  43. var xy=$("xy"); 
  44. document.documentElement.onmousemove=function(e){ 
  45.  var e=window.event||e; 
  46.  var eeX=e.clientX, eeY=e.clientY; 
  47.  track(leftEye,leftPupil,eX,eY); 
  48.  track(rightEye,rightPupil,eX,eY); 
  49. function track(o,i,eX,eY){ 
  50.  var ooL=o.offsetLeft; 
  51.  var ooT=o.offsetTop; 
  52.  var ooW=o.offsetWidth; 
  53.  var ooH=o.offsetHeight; 
  54.  var ooCW=o.clientWidth; 
  55.  var ooCH=o.clientHeight; 
  56.  var oX=oL+oW/2; 
  57.  var oY=oT+oH/2; 
  58.  var eXeX=eX-oX; 
  59.  var eYeY=eY-oY; 
  60.  var eXY,iL,iT; 
  61.  if(eX!=0&&eY!=0){ 
  62.   eXeXY=eX/eY; 
  63.   var r=oCW/2-12; 
  64.   var R=Math.sqrt(eX*eX+eY*eY); 
  65.   var rR=R/5>r?r:R/5; 
  66.   var iL=Math.sqrt(rR*rR/(1+1/(eXY*eXY))); 
  67.   if(eX<0)iL=-iL; 
  68.   var iT=iL/eXY; 
  69.   i.style.left=(iL+oCW/2)+"px"; 
  70.   i.style.top=(iT+oCH/2)+"px"; 
  71.  } 
  72.  xy.value=eX+","+eY; 
  73. </script> 
  74. </body> 
  75. </html> 
  76.  

 

本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/812706

抱歉!评论已关闭.