当前位置:软件学堂 > 资讯首页 > 网络编程 > 编程其他 > 跟随鼠标的文字代码

跟随鼠标的文字代码

2012/10/23 18:19:01作者:佚名来源:网络

移动端

【实例名称】

跟随鼠标的文字

【实例描述】

这是最常见的文本特效,不管鼠标移动到什么地方,都有一段文字跟随其后。本例将学习此特效的制作。

【实例代码】

 <style type="text/css"> .spanstyle { position:absolute; visibility:visible; top:-50px; font-size:9pt; color: #000000; font-weight:bold;} </style> <script language="javascript"> var x,y; var step=20; var flag=0; var message="我就追随鼠标。"; message=message.split("");   //将文本切割成数组 var xpos=new Array(); for (i=0;i<=message.length-1;i++) {xpos[i]=-50;} var ypos=new Array(); for (i=0;i<=message.length-1;i++) {ypos[i]=-50;} function handlerMM(e) { //判断浏览器,同时获取鼠标的坐标 x = (document.layers) ? e.pageX : document.body.scrollLeft+event.clientX; y = (document.layers) ? e.pageY : document.body.scrollTop+event.clientY; flag=1; } function makesnake() { if (flag==1 && document.all)  { for (i=message.length-1; i>=1; i--) { xpos[i]=xpos[i-1]+step; ypos[i]=ypos[i-1];       } xpos[0]=x+step; //文本的x坐标距离鼠标x坐标的距离 ypos[0]=y;  //文本和鼠标的y坐标相同 //设置包装文本的span控件的位置 for (i=0; i<message.length-1; i++) { var thisspan = eval("span"+(i)+".style"); thisspan.posLeft=xpos[i]; thisspan.posTop=ypos[i] ;    }   } else if (flag==1 && document.layers) { for (i=message.length-1; i>=1; i--) { xpos[i]=xpos[i-1]+step; ypos[i]=ypos[i-1] ;      } xpos[0]=x+step; ypos[0]=y; for (i=0; i<message.length-1; i++) { var thisspan = eval("document.span"+i); thisspan.left=xpos[i]; thisspan.top=ypos[i]};   } var timer=setTimeout("makesnake()",30);} //显示文本的重点 for (i=0;i<=message.length-1;i++)  { document.write("<span id='span"+i+"'class='spanstyle'>"); document.write(message[i]); document.write("</span>"); } //针对navigater浏览器时的情况 if (document.layers){ document.captureEvents(Event.MOUSEMOVE);} document.onmousemove = handlerMM; //将方法绑定到鼠标的移动事件 </script>

需要在body的加载事件中,调用上面的方法,代码如下所示: <body onLoad="makesnake()">

 

【运行效果】

运行效果

【难点剖析】

本例的难点是如何获取鼠标的(x,y)坐标,如何设置文字的坐标跟随鼠标的坐标。移动时的文字的延迟通过“setTimeout”定时器解决。

【源码下载】

本实例JS代码下载

 

标签: 鼠标