清除未知病毒有效率99% 五大核心技术
2008-10-11 02:28
127 查看
今天下午学习javascript时,根据学到的知识和搜索的资料,自己完成了一个基于javascript的拖放应用程序。
包含三个文件:1、drag.css;2、drag.js;3、index.html
主要是drag.js文件,现在谈一谈自己完成的过程:先找到图片在它所包含的盒子里的位置x1,然后找出鼠标相对于客户端窗口的位置x2,用x1-x2得到图片对象相对于窗口的位置x3;当鼠标点击图片拖动的时候捕获鼠标移动的位置(就是现在鼠标相对于客户端窗口的水平和垂直距离)x4,再用x4-x3就得到图片当前的移动的距离。
效果图:
包含三个文件:1、drag.css;2、drag.js;3、index.html
主要是drag.js文件,现在谈一谈自己完成的过程:先找到图片在它所包含的盒子里的位置x1,然后找出鼠标相对于客户端窗口的位置x2,用x1-x2得到图片对象相对于窗口的位置x3;当鼠标点击图片拖动的时候捕获鼠标移动的位置(就是现在鼠标相对于客户端窗口的水平和垂直距离)x4,再用x4-x3就得到图片当前的移动的距离。
//<![CDATA[ var dragObj = null ; //拖放的对象 var mouseOffset = null ; //拖放对象的偏移位置 //捕获鼠标的事件 document.onmousemove = mouseMove; document.onmouseup = mouseUp; //设置x,y function MousePoint(x,y){ this.x = x; this.y = y; } //创建鼠标位置 function mousePosition(evnt){ var x= parseInt(evnt.clientX); var y= parseInt(evnt.clientY); return new MousePoint(x,y); } //获取对象的页面偏移量 function getMouseOffset(target,evnt){ var theEvent = evnt ? evnt : window.event; var mousePos = mousePosition(theEvent); var x = mousePos.x - target.offsetLeft; var y = mousePos.y - target.offsetTop; return new MousePoint(x,y); } //对象拖动时捕获鼠标位置 function mouseMove(evnt){ var theEvent = evnt ? evnt : window.event; var mousePos = mousePosition(theEvent); if(dragObj){ dragObj.style.position = 'absolute'; dragObj.style.top = mousePos.y - mouseOffset.y + 'px'; dragObj.style.left = mousePos.x - mouseOffset.x + 'px'; } } //停止拖放 function mouseUp(){ dragObj = null; } //可以拖放的对象 function makeDrag(item){ item = document.getElementById(item); item.onmousedown = function(evnt){ dragObj = this; mouseOffset = getMouseOffset(this,evnt); return false; } } //载入对象 window.onload = function(){ makeDrag('img1'); } //]]>
效果图:
相关文章推荐
- 五大核心技术清除未知电脑病毒有效率达99%
- 实现物联网的五大核心技术
- 实现互联网的五大核心技术
- 实现物联网的五大核心技术
- 云计算在系统运用中的五大云计算的核心技术
- 人工智能的五大核心技术
- 五大最核心的大数据技术
- 测试的核心技术是什么?
- 谁在呐喊软件蓝领,那是他们准备开培训学校,谁在呐喊自主版权,那是他希望民族主义帮助销售,谁在呐喊“核心技术”,这多半是准备骗政府投资。
- Google核心技术之——PageRank算法scala实现
- Hibernate的原理体系架构,五大核心接口,Hibernate对象的三种状态转换,事务管理
- Java核心技术点之注解
- Java核心技术学习笔记第五章
- J2EE Web核心技术课后答案
- j2ee 13种核心技术
- “QQ尾巴病毒”核心技术的实现
- Java多线程编程核心技术---线程间通信(二)
- 2007年你需要知道的五大技术
- 懂商业的技术合伙人(13):谈谈我对商业的4点理解,创业公司做好核心业务是关键
- Java的21个核心技术点,你知道吗?