这里面做了一个JavaScript的求爱小特效,效果如下: 不仅能出现下面的图的效果,还可以让这个图形跟随着鼠标转动哦,这里面只是一个简单的没有修饰的小例子,基于这个例子可以让求爱,更加好玩了。闷骚男们,是不是可以给你的小萝莉发个这样的网页啊。给力的。 贴上code吧: 复制代码 代码如下: Insert title here <BR>body{ <BR>border:1px red solid; <BR>width:1000px; <BR>height:1000px; <BR>margin:0px auto; <BR>padding:0px; <BR>color:green; <BR>} <BR>/* <BR>将对象从文档流中拖出,使用 left , right , top , bottom 等属性相对于 <BR>其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则 <BR>依据 body 对象。而其层叠通过 z-index 属性定义 <BR>*/ <BR>div{ <BR>position:absolute; <BR>} <BR> <BR>//为什么要用onload,因为我在javascript代码中初始化时钟的div时,调试页面发现没有实现 <BR>//后来发现原因,html的代码是从前往后解析的。当先解析到JavaScript代码的时候,向body中 <BR>//添加子节点的时候,找不到还未解析的body。所以应该先解析body的啦。方法有两种,一种就是下 <BR>//的写法,另一种也可以是在body标签中添加onload方法。 <BR>window.onload=function(){ <BR>init(); <BR>}; <BR>//定义一个div数组,来存储12个div <BR>//因为12个div位置上的关系,所以先确定一下圆点和半径,以便计算div的位置 <BR>var divs=[]; <BR>var loveBaby=["我","爱","你","!","宝","贝","你","爱","我","吗","勉","勉"] <BR>var CX=300; <BR>var CY=300;//----------------------网页中的位置坐标没有单位吗? <BR>var R=150; <BR>var divCenterNode;//中心点的位置要进行控制,设置全局变量 <BR>//定义一个初始化的函数 <BR>function init(){ <BR>//创建一个中心点位置的div(可以写上求爱对象哦) <BR>divCenterNode=document.createElement("div"); <BR>divCenterNode.innerHTML="婷婷,嫁给我吧!"; <BR>document.body.appendChild(divCenterNode); <BR>divCenterNode.style.left=(CX-50)+"px"; <BR>divCenterNode.style.top=(CY-30)+"px"; <BR>//创建12个div组成一个禁止的时钟,放在body中 <BR>for(var x=1;x<=12;x++){ <BR>//创建div <BR>var divNode=document.createElement("div"); <BR>divNode.innerHTML=loveBaby[x-1]; <BR>//body对象不需要和其它对象一样去获取,js库中已经封装好了。 <BR>document.body.appendChild(divNode); <BR>divs.push(divNode); <BR>} <BR>//每次启动startClock()对div元素进行重新定位 <BR>/* <BR>实际上要想达到旋转的效果,需要不断的进行偏移,或者说 <BR>进行重新定位,但是作循环,不能控制间隔多久启动函数,那么 <BR>这时候window对象提供了方法。 <BR>*/ <BR>startClock(); <br><br>} <BR>//div的偏移量 <BR>var offset=0;//度数偏移量 <BR>//将位置的定位和转动单独定义一个函数 <BR>function startClock(){ <BR>for(var x=1;x<=12;x++){ <BR>var div = divs[x-1]; <BR>//每一个数字的度数 <BR>var dushu=30*x+offset; <BR>// 角度值 * Math.PI /180 = 弧度值 <BR>var divLeft = CX+R*Math.sin(dushu*Math.PI/180); <BR>div.style.left=divLeft+"px"; <BR>var divTop = CY-R*Math.cos(dushu*Math.PI/180); <BR>div.style.top=divTop+"px"; <BR>} <BR>offset+=50; <BR>//间隔一定的时间,回调这个函数 <BR>//经过指定毫秒值后计算一个表达式。第一个参数是表达式,第二个参数是时间 <BR>setTimeout(startClock,80);//window对象的方法 <BR>} <BR>//定义这个时钟随着鼠标移动到不同的位置 <BR>function clockMove(event){ <BR>CX=event.clientX;//鼠标所在位置的x坐标 <BR>CY=event.clientY;//鼠标所在位置的y坐标 <BR>divCenterNode.style.left=(CX-50)+"px"; <BR>divCenterNode.style.top=(CY-30)+"px"; <br><br>} <BR> 本来是想做一个会转动,会跑的时钟显示。所以代码中的命名和时钟有关,就不纠结了,亲。初学javascript,感觉javascript很强大。