用Javascript制作鼠标移动跟随
我们常在一些网站中看到,鼠标在网页上移到时,有一行文字、一张小或一个小动画总是跟着鼠标,除非把鼠标移出页面,否则,它就总是紧跟鼠标不放。你知道这种效果是怎么做出来的吗?你可能感到比较复杂。其实它是用Javascript编一段小程序来实现的,且程序也不长,也比较好理解。下面让我们来揭下它的面纱看看。
程序思路:图层可以用绝对坐标来确定其在页面中的位置,那么我们把、动画或文字放到图层上,再想办法动态获取鼠标的当前位置,再把图层移到鼠标的当前位置,那图层上的内容(、动画或文字)不也就移到当前鼠标的位置了吗?这样就达到了、动画或文字随鼠移动的目的了。
一、一个简单的、动画或文字随鼠标移动的例子
制作方法:
1、在 Dreamweaver3中,插入一个图层,在图层上写上要跟随鼠标移到的文字或。
2、在图层的属性面板上把“Layer ID”(图层的ID号)改为“div1”,以便程序 *** 作;“T”值改为“-50”,使其初始位置在页面外;“Z-index”(层序号)值改为“50”,使其在最上层,不被其它层遮盖。完成后的图层代码如下,不是使用 Dreamweaver的网友可把代码复制到<body>标记的后面:
<div id="div1" style="position:absolute; left:250px; top:118px; width:60px; height:37px; z-index:"50"><img src="image/0050gif" width="32" height="32">图、文跟鼠标试验</div> ,这里的和文字可换成你所需要的。
3、在<head>与</head>之间加上这样一段程序:
<SCRIPT language="javascript">
<!--
var x,y; //声明存放当前鼠标位置坐标的变量
var can=0 //声明能否移动的控制变量
function canmove() { //控制能否移动的函数
x=documentbodyscrollLeft+eventclientX; //获取当前鼠标位置的X坐标
y=documentbodyscrollTop+eventclientY; //获取当前鼠标位置的Y坐标
can=1;} //设置为可以移动
function move() { //移动图层的函数
if (can) {
div1styleposLeft=x+20; //设置图层位置的X坐标
div1styleposTop=y;} // 设置图层位置的Y坐标
setTimeout("move()",30)} //每30毫秒刷新一次图层位置坐标
-->
</SCRIPT>
只要这几行代码就能使或文字跟着鼠标跑,有点出乎意料吧!事实就是这么简单。当然,这是最简单的一种,你可能看到的有些网页上的效果在移动的过程比这要复杂一些,但都是在这个基础上增加一些移动的变化过程而已。
4、当然要使真正的效果出现,还得在<body>标记中加上触发事件调用程序,使程序动作起来。在<body>标记中加上代码:onload="move()" onmousemove="canmove()",前一个函数的作用是在网页加载时就调用“move()”程序,使其开始刷新图层的位置坐标;后一个事件的作用是,一旦在页面上移动鼠标,就重新计算它的位置坐标。
二、稍复杂一点的效果
在上例的基础上稍作一些改动,可获得更好的效果,如使“欢迎光临!”这几个字不仅是分开移动,在移到新位置后,还不停地左右移动,似乎在列队欢迎。要实现移动过程的变化,就要把每个文字分开,一个图层放一个字(或一张),然后分开移动到新的位置。所以为了方便,用数组来存放图层的位置坐标。另外,由于图层较多,插入图层比较麻烦,也会使代码大增加,因此采用了动态编写图层代码的办法。制作方法如下:
1、在<head>与</head>之间插入下面这段程序:
<SCRIPT language="javascript">
<!--
var x,y
var step=20
var can=0
var information="欢迎光临!"; //在这里写入跟随鼠标移动的文字
information=informationsplit(""); //把字符串拆分成单个的文字
Il=informationlength; //获取字符的个数,存放在Il变量中
k=0;
var xpos=new Array() //声明一个数组,存放各图层的X位置坐标
for (i=0;i<=Il-1;i++){ //给数组赋初值
xpos[i]=-50}
var ypos=new Array() //声明一个数组,存放各图层的Y位置坐标
for (i=0;i<=Il-1;i++){ //给数组赋初值
ypos[i]=-50}
function canmove() {
x=documentbodyscrollLeft+eventclientX;
y=documentbodyscrollTop+eventclientY;
can=1; k=0;step=20}
function move() {
if (can) {
k++;
if (k<20) {step++;}else
if (k<40) {step--;}else {k=0;} //计算图层左右移动的偏移量
for (i=Il-1;i>=1;i--){ //计算各图层在新位置的X、Y坐标
xpos[i]=xpos[i-1]+step;
ypos[i]=ypos[i-1]}
xpos[0]=x+step;
ypos[0]=y
for (i=0;i<Il-1;i++){ //改变各图层位置的X、Y坐标,使其移到新的位置
var thisdiv=eval("div"+(i)+"style");
thisdivposLeft=xpos[i];
thisdivposTop=ypos[i]}}
setTimeout("move()",30)} //每30秒刷新一次
-->
</SCRIPT>
2、在<body>标记的后面加上这段程序:
<script language="Javascript">
<!--
for (i=0;i<=Il-1;i++){
documentwrite("<div id='div"+i+"' style='position:absolute;top:-50px; font-size: 9pt;font-weight: 800; color: #0000FF'>"+information[i]+"</div>");
}
-->
</script>
这段程序的作用是动态自动编写存放移动文字图层的HTML代码,并把相应的文字写在上面。
3、在<body>标记中加上代码:onload="move()" onmousemove="canmove()"。
这样在浏览器中,“欢迎光临!”这几个字就会紧跟鼠标移动,到达新位置后还会左右移动。若是把《三维环绕文字效果制作》一文中的文字移动效果用在本例上,则文字就会绕着鼠标位置旋转。
C#web view2htmldocument属性webView 自适应高度 documentbody 属性
前段时间开发遇到webView 高度自适应问题,用最初的方法无效,找了些资料,记录下。
1、若网页中含有< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">
<HTML>
<HEAD>
<BODY>
<div style="
width:的宽px;
height:的高pxpx;
background-image:url('xxjpg');
text-align:center;
>
<table width="的宽px" height="的高px">
<tr>
<td alt="铜牌会员" title="铜牌会员"></td>
<td alt="银牌会员" title="银牌会员"></td>
<td alt="金牌会员" title="金牌会员"></td>
</tr>
<tr>
<td alt="三钻会员" title="三钻会员"></td>
<td alt="皇冠会员" title="皇冠会员"></td>
<td alt="金冠会员" title="金冠会员"></td>
</tr>
</table>
</div>
</BODY>
</HTML>
这样也是可以做到的
可能是不兼容吧,我现在用的QQ浏览器的兼容性很好。
比较好用,主界面及菜单简约, *** 作简单易懂
2开启速度快,网页切换迅速,视频播放、网页浏览稳定,从不乱码,卡屏。
3应用中心内的插件多而实用,与浏览器完美兼容,实现一体化
4QQ浏览器的安全性高,会自动阻拦异常网页,这样上网不用在担心异常问题了
以上就是关于随鼠标移动的文字HTML的代码怎么写全部的内容,包括:随鼠标移动的文字HTML的代码怎么写、C#web view2.htmldocument属性吗、html 如何在一张图片中的不同位置(坐标)显示不同的html<title>信息: 如下图所示;懂的哥们帮帮忙,在线等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)