简单的JS动画的实现 文字在页面飘动
2012-06-22 00:41
831 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>文字移动</title> <script type="text/javascript"> //初始化,给要移动的元素一个初始值,可理解为移动的起点 function prepareElement(){ var elem = document.getElementById("pp"); elem.style.position = "absolute"; //表示定位于相对于包含它的元素的指定坐标 elem.style.left = "0px"; elem.style.top = "0px"; } function moveElement(elementId,final_x,final_y,interval){ //验证元素是否存在 if(!elementId) return false; //当elementId为空时对应值false,加!为真,则不再向下执行, //获得指定元素 //var elem=document.getElementById(elementId); var elem = document.getElementById(elementId); //获得现在的坐标 var x=parseInt(elem.style.left); var y=parseInt(elem.style.top); //判断是否到了指定位置 if(x==final_x && y==final_y) return; //没有到达时继续向执行 if(x>final_x){ x--; } if(x<final_x){ x++; } if(y>final_y){ y--; } if(y<final_y){ y++; } //修改坐标位置 elem.style.left=x+"px"; elem.style.top=y+"px"; //自己调自己,实现连续移动 js="moveElement('"+elementId+"',"+final_x+","+final_y+","+interval+")"; //此句代码很费解,elementId,final_x等是变量,所有要在引号外, //而elementId加两层引号是因为elementId中传来的是字符串的变量 setTimeout(js,interval); //setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。 //提示:setTimeout() 只执行 code 一次。 //如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。 } window.onload=function() { prepareElement(); moveElement("pp",200,100,100);//括号中分别代表 元素ID,X移动多少,Y移动多少,多长时间完成移动 } </script> </head> <body> <p id="pp">我是一个移动元素 </p> </body> </html>
相关文章推荐
- 纯js实现页面返回顶部的动画(超简单)
- JS实现回到页面顶部动画效果的简单实例
- JS简单实现动画弹出层效果
- 用HTML/JS/PHP方式实现页面延时跳转的简单实例
- js 实现简单的动画效果(小圆移动)
- JS 实现简单的页面局部打印
- js实现动画特效的文字链接鼠标悬停提示的方法
- Html+css+js+jquery实现简单页面登录
- JS实现简单loading功能页面
- js实现简单的动画(4个按钮控制图片上下左右移动)
- 简单JS实现走马灯效果的文字(无需jQuery)
- 用wow.js实现滚动页面时触发CSS 动画效果的插件
- JS小功能(列表页面隔行变色)简单实现
- jquery使用CSS3实现文字动画效果插件Textillate.js
- JS 实现简单的页面局部打印
- require.js+bootstrap实现简单的页面登录和页面跳转
- js实现当页面文字过长时用...表示,当点击时显示全部内容
- js实现文本框中输入文字页面中div层同步获取文本框内容的方法
- require.js与bootstrap结合实现简单的页面登录和页面跳转功能