admin 管理员组

文章数量: 1086019


2024年3月8日发(作者:patindex)

用Javascript制作鼠标移动跟随

冯永曜 黄山村夫

我们常在一些网站中看到,鼠标在网页上移到时,有一行文字、一张小图片或一个小动画总是跟着鼠标,除非把鼠标移出页面,否则,它就总是紧跟鼠标不放。你知道这种效果是怎么做出来的吗?你可能感到比较复杂。其实它是用Javascript编一段小程序来实现的,且程序也不长,也比较好理解。下面让我们来揭下它的面纱看看。

程序思路:图层可以用绝对坐标来确定其在页面中的位置,那么我们把图片、动画或文字放到图层上,再想办法动态获取鼠标的当前位置,再把图层移到鼠标的当前位置,那图层上的内容(图片、动画或文字)不也就移到当前鼠标的位置了吗?这样就达到了图片、动画或文字随鼠移动的目的了。

一、一个简单的图片、动画或文字随鼠标移动的例子

制作方法:

1、在 Dreamweaver3中,插入一个图层,在图层上写上要跟随鼠标移到的文字或图片。

2、在图层的属性面板上把“Layer ID”(图层的ID号)改为“div1”,以便程序操作;“T”值改为“-50”,使其初始位置在页面外;“Z-index”(层序号)值改为“50”,使其在最上层,不被其它层遮盖。完成后的图层代码如下,不是使用 Dreamweaver的网友可把代码复制到标记的后面:

height:37px; z-index:"50">图、文跟鼠标试验
,这里的图片和文字可换成你所需要的。

3、在与之间加上这样一段程序:

只要这几行代码就能使图片或文字跟着鼠标跑,有点出乎意料吧!事实就是这么简单。当然,这是最简单的一种,你可能看到的有些网页上的效果在移动的过程比这要复杂一些,但都是在这个基础上增加一些移动的变化过程而已。

4、当然要使真正的效果出现,还得在标记中加上触发事件调用程序,使程序动作起来。在标记中加上代码:onload="move()" onmousemove="canmove()",前一个函数的作用是在网页加载时就调用“move()”程序,使其开始刷新图层的位置坐标;后一个事件的作用是,一旦在页面上移动鼠标,就重新计算它的位置坐标。

二、稍复杂一点的效果

在上例的基础上稍作一些改动,可获得更好的效果,如使“欢迎光临!”这几个字不仅是分开移动,在移到新位置后,还不停地左右移动,似乎在列队欢迎。要实现移动过程的变化,就要把每个文字分开,一个图层放一个字(或一张图片),然后分开移动到新的位置。所以为了方便,用数组来存放图层的位置坐标。另外,由于图层较多,插入图层比较麻烦,也会使代码大增加,因此采用了动态编写图层代码的办法。制作方法如下:

1、在与之间插入下面这段程序:

2、在标记的后面加上这段程序:

这段程序的作用是动态自动编写存放移动文字图层的HTML代码,并把相应的文字写在上面。

3、在标记中加上代码:onload="move()" onmousemove="canmove()"。

这样在浏览器中,“欢迎光临!”这几个字就会紧跟鼠标移动,到达新位置后还会左右移动。我想现在不会再感到这种效果有什么神秘了吧?!


本文标签: 图层 鼠标 移动 位置