这是个功能非常简单的类,只实现了拖拽的功能,当然,代码也因此保持了原始的简洁,下面是这个类库的代码:
代码
复制代码 代码如下:
/**************************************************
* Drag.js
* 作者:橡树小屋 07.17.2010
* http://www.cnblogs.com/babyzone2004/
*用法:Drag.initDrag(id); id是标签的id名称
**************************************************/
var Drag={
dragObject:null,
mouseOffset:null,
initDrag:function(item){
if(item){
this.item=document.getElementById(item);
this.item.onmousedown=function(evnt){
document.onmousemove=Drag.mouseMove;
document.onmouseup=Drag.mouseUp;
Drag.dragObject=this;
Drag.mouseOffset=Drag.getMouseOffset(this,evnt);
return false;
}
}
},
mousePoint:function(x,y){
this.x=x;
this.y=y;
},
mousePosition:function (evnt){
evnt=evnt||window.event;
var x=parseInt(evnt.clientX);
var y=parseInt(evnt.clientY);
return new Drag.mousePoint(x,y);
},
getMouseOffset:function(target,evnt){
var mousePos=Drag.mousePosition(evnt);
var x=mousePos.x-target.offsetLeft;
var y=mousePos.y-target.offsetTop;
return new Drag.mousePoint(x,y);
},
mouseUp:function (evnt){
Drag.dragObject=null;
document.onmousemove = null;
document.onmouseup = null;
},
mouseMove:function(evnt){
if(!Drag.dragObject) return;
var mousePos=Drag.mousePosition(evnt);
Drag.dragObject.style.position="absolute";
Drag.dragObject.style.top=mousePos.y-Drag.mouseOffset.y+"px";
Drag.dragObject.style.left=mousePos.x-Drag.mouseOffset.x+"px";
return false;
}
}
由于代码不是很复杂,所以就不详细展开说了。有需要的可以直接下载使用,导入后用Drag.initDrag(id名称)方法就可以应用了。
事实上,网上已经有一个轻量级的dom-drag类库(作者: Aaron Boodman),回头看到自己写的类库,内牛满面……,dom-drag类可以到http://boring.youngpup.net/projects/dom-drag/下载,代码非常简单,而且提供了很多易用的特性。并且网站上提供了非常详细的例子。
这个类库就像flash里面的startDrag方法,代码精简却功能实用。你想让某个组件能够拖动,你可以调用 Drag.init( ) 方法。
init : function(o, oRoot, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper)
o :是想现实鼠标拖动的组件;
oRoot : 是o上层的组件,将随o一起拖动;
minX, maxX, minY, maxY :设置鼠标拖动的范围, 由下面的例子cropper可以看出,如果有oRoot,那范围是由oRoot相对于页面来说的;
bSwapHorzRef, bSwapVertRef :设置组件的优先权;
fXMapper, fYMapper: 设置拖动的路径
其中第三个例子:
示例链接:http://boring.youngpup.net/projects/dom-drag/ex3.html
可以实现对拖动范围的限制,代码如下:
复制代码 代码如下:
<!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">
<html>
<head>
<script language="javascript" src="dom-drag.js"></script>
<style type="text/css">
#thumb {
position:absolute;
height:50px;
width:12px;
background-color:#eee;
border:1px outset #eee;
}
</style>
</head>
<body>
<div id="thumb" style="left:25px; top:25px;"></div>
<script language="javascript">
var aThumb = document.getElementById("thumb");
Drag.init(aThumb, ff;">null, 25, 25, 25, 200);
</script>
</body>
</html>
<script language="javascript">
var aThumb = document.getElementById("thumb");
Drag.init(aThumb, null, 25, 25, 25, 200);
</script>
init里面的4个数字参数对应元素可以拖动的区域,左上和右下的x,y坐标。因此元素只能在(25,25),(25,200)的直线之间滑动,就想滚动条一样。
这个类库功能简单,但如果结合其他功能,将可以做出像flash那么炫的效果。
演示代码: http://demo./js/dom-drag/demo.html
代码打包: https://www./jiaoben/28492.html
相关推荐:
seo经验是什么,seo进阶 ,ai矿机
seo黑帽是什么,列举几种seo黑帽行为 ,穿老款的ai丢人吗
SEO占位:如何在竞争激烈的市场中占得先机?,梁平区省心全网营销推广
为什么要做seo si,为什么要做* ,ai里面怎么扣二维码
SEO优化工具优势:提升网站排名,带来流量和转化的秘密武器,ai圆形造字
SEO重要性与企业互联网发展的必由之路,互联网营销推广平台设计
SEO架构:提升网站流量的核心策略,东营南江全平台营销推广
二级泛站群,zblog二级泛站群 ,李宗盛ai
软件AI:颠覆未来的智能革命
ChatGPT3.5需要登录使用吗?AI使用的真相!,电脑版写作ai推荐怎么关闭
seo项目是什么,seo是啥 ,ai ued
文章去AI回归创作的本真之美
SEO笔记:如何打造高效的SEO策略提升网站排名,网站优化优质服务方案
seo该从什么开始,seo是什么时候开始的 ,ai写作免费英文怎么说
SEO赚钱:如何通过SEO技能在网络上实现财富自由,网站怎么建设推广平台
SEO好吗?助力网站成功的关键之道,网站优化方案范文怎么写
SEO适合-提升网站排名的关键策略,张家口品牌推广营销中心
ChatGPT无法加载?检查网络并尝试重启,助您快速恢复畅通体验,burj ai
ChatGPT无法加载?检查您的网络设置并尝试重启ChatGPT,助您畅享无障碍智能对话体验,ai记录人
SEO特点与实施策略:提升网站流量与排名的关键,定西抖音seo价格查询
SEO技巧提升网站流量:打造高效网站的关键策略,Ai测脸相
《收录情况:数字时代的网络信息检索与价值体现》,山东全域营销推广软件客服电话
AI文章比对技术:引领写作与内容审核的新革命,ai智能写作小说免费
互联网快照:记录数字时代的每个瞬间,全网seo怎么优化内容
文章AI指令提升写作效率的智能助手
seo需要懂什么源码,seo需要懂什么源码技术 ,ai 纤维
seo的推广工具,seo推广软件哪个好 ,国内ai写作论文怎么样
优化服务网-提升客户体验,打造全方位智慧服务平台,东莞网站建设员招聘信息
什么是seo网站推广,什么是seo网站推广 ,ai酷男人
ChatGPT页面无法翻阅?带你深度了解背后的原因与解决方案,pdf怎么转换ai文字
SEO主要是为网站引流吗?深入解析SEO的核心价值,AI算算
360优化关键词-提升网站流量与排名的秘密武器,美拍ai
自动写文章AI:高效创作工具,开启写作新纪元
seo网络培训是什么,seo工作培训会培训啥 ,ai长投影字
OpenArtAI如何进入:数字艺术的未来之门,分析海报ai
用AI写文章会不会查重率高?破解写作困扰的真相
SEO新人必读:从零开始SEO的核心技巧与实践指南,网站邮件推广设计
AI一键生成原创文章,让创作更高效更轻松!
未来的效率利器AI软件下载AI,助您轻松驾驭智能世界
AI智能工具的无限可能:未来已来,你准备好了吗?
SEO优化基础:让你的网站脱颖而出的秘密武器,模仿猫ai
目前AI软件有哪些?智能新时代的必备工具
SEO立刻:快速提升网站排名,带你走在搜索引擎前沿,网站建设怎么推广好做
SEO走动:提升网站流量的关键一步,SEO数据监控宝宝推荐
ChatGPTDNS出问题?如何快速解决并保障网络畅通,墨镜ai照片
SEO新站优化指南:快速提升排名的必备技巧,海珠网站推广哪家有名
seo相关知识是什么,seo相关技术 ,ai写作讯飞星火认知大模型
怎样利用AI写文章,轻松提升写作效率
ChatGPT免费版下载:智能对话助手带来的全新体验,电脑怎么下载Ai微认证
人工AI软件的未来:智能时代的创新驱动力