拖拽、移动元素的JS原生函数
2017-04-18 11:14
197 查看
oDiv.onmousedown = function (ev) {
var ev = ev || window.event;
disX = ev.clientX - oDiv.offsetLeft;
disY = ev.clientY - oDiv.offsetTop;
document.onmousemove = function (ev) {
var ev = ev || window.event;
var iL = ev.clientX - disX;
var iT = ev.clientY - disY;
var maxL = document.documentElement.clientWidth - oDiv.offsetWidth;
var maxT = document.documentElement.clientHeight - oDiv.offsetHeight;
iL <= 0 && (iL = 0);
iL >= maxL && (iL = maxL);
iT <= 0 && (iT = 0);
iT >= maxT && (iT = maxT);
oDiv.style.left = iL + "px";
oDiv.style.top = iT + "px";
return false;
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
this.releaseCapture && this.releaseCapture();
};
this.setCapture && this.setCapture();
return false;
};
var ev = ev || window.event;
disX = ev.clientX - oDiv.offsetLeft;
disY = ev.clientY - oDiv.offsetTop;
document.onmousemove = function (ev) {
var ev = ev || window.event;
var iL = ev.clientX - disX;
var iT = ev.clientY - disY;
var maxL = document.documentElement.clientWidth - oDiv.offsetWidth;
var maxT = document.documentElement.clientHeight - oDiv.offsetHeight;
iL <= 0 && (iL = 0);
iL >= maxL && (iL = maxL);
iT <= 0 && (iT = 0);
iT >= maxT && (iT = maxT);
oDiv.style.left = iL + "px";
oDiv.style.top = iT + "px";
return false;
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
this.releaseCapture && this.releaseCapture();
};
this.setCapture && this.setCapture();
return false;
};
相关文章推荐
- 用于元素移动的函数(原生JS)
- 原生js封装元素运动函数
- vuejs2.0运用原生js实现简单的拖拽元素功能
- vuejs2.0运用原生js实现简单的拖拽元素功能
- vuejs2.0运用原生js实现简单的拖拽元素功能
- 原生JS,实现图片可拖拽,并且移动四个角和四条变能够自由变换图片大小
- 关于js拖拽功能,拖拽元素的position:fixed;left:0;right:0;样式引起左右拖动元素会出现落后鼠标移动距离的问题
- vuejs2.0运用原生js实现简单的拖拽元素功能
- 6位无重复验证码函数封装和原生JS图片上传(带拖拽)函数封装
- vuejs2.0运用原生js实现简单的拖拽元素功能
- 基于原生JS(ES5)的鼠标移动(拖拽)HTML元素的插件(MoveElementJS)
- 根据原生JS封装函数,根据传递的选择器查找对应的元素以及解决getElementsByClassName() 兼容问题
- vuejs2.0运用原生js实现简单的拖拽元素功能示例
- pc和移动端的js拖拽简易函数(不含html5原生拖拽)
- js获取元素样式属性值 - 较为灵活的函数
- 【php数组函数序列】之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
- php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
- 用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
- js验证函数 验证手机 邮箱/email 邮编 身份证 中文 ip及S有3种方式来获取元素
- 原生js和jQuery的DOM操作函数速度比较