更新时间:2026-05-13
点击次数: 说到拖拽功能,现在各大,中,小型网站都基本上有类似的东西,特别是对弹出层拖拽,更是常见的一塌糊涂。。。
其实对于弹出层而言,拖拽最初的目的很单纯,就是为了通过拉开层,使被弹出层挡住的内容可见,(当然,后来关于拖拽的功能不断被优化,使得拖拽的应用有了别的意义,最典型的如igoogle的自定义首页,通过拖放的形式满足用户自定义想要的内容模块顺序和位置)。
本文讨论的重点不是iGoogle的拖放效果,那属于进阶篇,本文是拖拽的“第一阶”,如题,实现最简单的拖拽。
这里的“最简单”即不考虑多个拖拽层的堆叠顺序,不考虑拖拽范围限制,不考虑类似iGoogle的“dragTo”的效果等等。。。
content...点此--打开 由于我是直接在页面上内嵌的所有代码,加上博客园第三方插件的原因,代码执行效率高,有可能运行起来不是很流畅
在编码的时候,有两个需要注意的地方,一个是获取当前样式,currentStyle只在ie下有效,故对于非ie我们可以通过getComputedStyle实现(当然,对于这种需要获取的属性不是很多的情况,您也可以直接用obj.style[key]来获取您当前想要的属性值)
另一个点就是在获取鼠标位置时要用到event,event这个东西很奇怪,ie下是局部变量,moz内核下是全局变量(说法不准确,只是便于理解),所以在获取鼠标位置时候要对event做个判断
恩,注意以上两点,结合正确的思路其实就可以了,并不难,下面提供参考代码:
恩,至此,本文差不多可以结束了,关于类似的iGoogle的拖拽进阶篇,有时间会继续的,下面结合拖拽举个综合弹出层的例子,
这个弹出层插件是我在上文中就提到的,而且还提供了源文件下载,在此只是加上了拖动效果而已
一个完美的JS拖拽功能,实现层在网页上任意拖动,还可回放拖动规迹,而且在拖动时显示拖动距离参数等相关属性。经本人测试兼容性也是相当不错的代码,学习JavaScript的朋友,可以拿来研究研究,您可不要错过哦
支持IE,firefxo,chrome浏览器下鼠标拖动和拖拽的鼠标指针特效
电子邮箱: facai@126.com
热线电话: 0755-89800918
公司地址: 深圳市南山区粤海街道高新区社区深圳湾创新科技中心2栋A座22层
Copyright © 2012-202X 球速体育公司 版权所有 Powered by EyouCms
备案号:粤ICP备05004158号-1
