原生js通过prottype写的一个简单拖拽
<!DOCTYPE html>
<head>
<meta charset="utf-8"/>
<title></title>
<style>
.box{
position:absolute;width:100px;height:100px;background-color:#FF6E3D;left:0px;top:0px;left:20px;
/*修饰*/
border-radius:50%;box-shadow: 5px 5px 15px rgba(42,56,123,0.5);
}
#box1{
position:absolute;width:100px;height:100px;background-color:#FF6E3D;left:200px;top:200px;left:20px;
/*修饰*/
border-radius:50%;box-shadow: 5px 5px 15px rgba(42,56,123,0.5);
}
</style>
</head> <body> <div class="box"></div>
<div id="box1"></div>
</body>
<script type="text/javascript">
//@zijian 2015/8/11
function Drag(id){
this.obj = document.getElementById(id)||document.getElementsByClassName(id)[0];//class or ID
this.disX = 0;
this.disY = 0;//Initialization parameters } Drag.prototype.init = function (){
var that = this;
this.obj.onmousedown = function (e){
var e = e || event;
that.mouseDown(e);
// Prevent the default event
return false;
};
}; // as the event is mouse
Drag.prototype.mouseDown = function (e){
var that = this;
this.disX = e.clientX - this.obj.offsetLeft; //Get mouse parameters for start
this.disY = e.clientY - this.obj.offsetTop; document.onmousemove = function (e){
var e = e || window.event; that.mouseMove(e);
}; document.onmouseup = function (){
that.mouseUp();
}
}; Drag.prototype.mouseMove = function (e){
this.obj.style.left = (e.clientX - this.disX) + 'px'; //Get mouse parameters for end
this.obj.style.top = (e.clientY - this.disY) + 'px';
}; Drag.prototype.mouseUp = function (){
document.onmousemove = null;
document.onmouseup = null; //mouse leave status
}; var drag = new Drag('box');
drag.init(); var drag1 = new Drag('box1');
drag1.init();
</script>
</html>
原生js通过prottype写的一个简单拖拽的更多相关文章
- Javascript写的一个可拖拽排序的列表
自己常试写了一个可拖拽进行自定义排序的列表,可能写的不太好,欢迎提供意见. 我的思路是将列表中的所有项都放进一个包裹层,将该包裹层设为相对定位,每当点击一个项时,将该项脱离文档并克隆一份重新添加到文档 ...
- 使用原生js与jQuery分别实现一个简单的tab页签
tab页签通常适用于空间有限而内容较多同时兼顾页面美观度不给用户一种信息过量视觉疲劳的情形.使用面非常广,下面我们用两种方法简单实现之. 首先,构建页面元素.页签的可点击部分我们通常用列表来承载,包括 ...
- 原生js及H5模拟鼠标点击拖拽
一.原生js 1.拖拽的流程动作 鼠标按下 触发onmousedown事件 鼠标移动 触发onmousemove事件 鼠标松开 触发onmouseup事件 2.注意事项: 要防止div移出可视框,要限 ...
- 原生JS取代一些JQuery方法的简单实现
原生JS取代一些JQuery方法的简单实现 下面小编就为大家带来一篇原生JS取代一些JQuery方法的简单实现.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 1.选 ...
- 原生JS中apply()方法的一个值得注意的用法
今天在学习vue.js的render时,遇到需要重复构造多个同类型对象的问题,在这里发现原生JS中apply()方法的一个特殊的用法: var ary = Array.apply(null, { &q ...
- 只是一个用EF写的一个简单的分页方法而已
只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...
- 写了一个简单的CGI Server
之前看过一些开源程序的源码,也略微知道些Apache的CGI处理程序架构,于是用了一周时间,用C写了一个简单的CGI Server,代码算上头文件,一共1200行左右,难度中等偏上,小伙伴可以仔细看看 ...
- 自己写的一个简单PHP采集器
自己写的一个简单PHP采集器 <?php //**************************************************************** $url = &q ...
- 写了一个简单可用的IOC
根据<架构探险从零开始写javaweb框架>内容写的一个简单的 IOC 学习记录 只说明了主要的类,从上到下执行的流程,需要分清主次,无法每个类都说明,只是把整个主线流程说清楚,避免 ...
随机推荐
- spring相关jar包的含义
spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-m ...
- [课程设计]Scrum 3.3 多鱼点餐系统开发进度(下单详细信息页面设计)
Scrum 3.3 多鱼点餐系统开发进度(下单详细信息页面设计) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点 ...
- 我所理解的ECMAScript、DOM、BOM---写给新手们
像很多新手一样,我知道js有三部分组成,即ECMAScript.DOM.BOM三部分组成,ECMAScript是核心解释器.DOM(Document Object Model)是文档对象模型.BOM( ...
- STM32 MX Cube生成的工程中 使用printf向Uart发送数据
1. 在main函数前面添加: int fputc(int ch,FILE *f){ uint8_t temp[1]={ch}; HAL_UART_Transmit(&huart1,temp, ...
- jQuery学习笔记(二)jQuery中DOM操作
目录 DOM操作分类 jQuery中的各种DOM操作 查找节点 创建节点 删除节点 复制节点 替换节点 包裹节点 属性操作 样式操作 对HTML.文本和值的操作 遍历节点 CSS-DOM操作 小结 本 ...
- R语言读写中文编码方式
最近遇到一个很头疼的事,就是 R语言读写中文编码方式.在网上找到了一篇博文,谢谢博主的精彩分享,让我很快解决了问题,在此也分享一下 R语言读写数据的方法很多,这里主要是我在使用read.csv/rea ...
- HDU1232 畅通工程 并查集
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- C 语言
1, // char server[] = BaseNetServerIp; // string serverStr = _aliNetServerEnabled?Ne ...
- 关于equals、hashcode和集合类的小结
一.首先明确一点:equals()方法和hashcode()方法是Object类里的方法. 查看源码可以知道,在Object类中equals(obj)方法直接返回的是 this == obj 的值. ...
- 多MAVEN项目部署到tomcat中_之使用DBUG进行单步调试
1.改成你想localhost:8080默认进入的目录 这个步骤会造成 code\.settings\org.eclipse.wst.common.component 文件的更改<propert ...