最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascriptdragable的Move对象_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 20:43:49
文档

javascriptdragable的Move对象_javascript技巧

javascriptdragable的Move对象_javascript技巧: JavaScript Data Access Test var Move = { $: function(id){ return (typeof id == object) id : document.getElementById(id); }, pageX:function(elem){ //获取目标elem的X坐标 return elem.offsetParent //如果能继续得到上一个元素,增加当前的偏移量并继续向上递归 elem.offse
推荐度:
导读javascriptdragable的Move对象_javascript技巧: JavaScript Data Access Test var Move = { $: function(id){ return (typeof id == object) id : document.getElementById(id); }, pageX:function(elem){ //获取目标elem的X坐标 return elem.offsetParent //如果能继续得到上一个元素,增加当前的偏移量并继续向上递归 elem.offse



[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
其中比较重要的代码:
代码如下:
var Move = {
$: function(id){
return (typeof id == "object") ? id : document.getElementById(id);
},
pageX: function(elem){ //获取目标elem的X坐标
return elem.offsetParent ? //如果能继续得到上一个元素,增加当前的偏移量并继续向上递归
elem.offsetLeft + this.pageX(elem.offsetParent) : elem.offsetLeft;
},
pageY: function(elem){ //获取目标elem的Y坐标
return elem.offsetParent ? elem.offsetTop + this.pageX(elem.offsetParent) : elem.offsetTop;
},
make: function(id){
var elem = this.$(id);
var oldXY = null;
var newXY = null;
var x = 0; //记录初始化是目标elem的x坐标
var y = 0; //记录初始化是目标elem的y坐标
var t = this;
elem.onmouseover = function(e){
this.style.cursor = "default";
}
elem.onmousedown = function(e){
e = e || window.event;
this.style.position = "absolute";
this.style.cursor = "move";
x = t.pageX(this);
y = t.pageY(this);
var that = this;
oldXY = {
x: e.clientX,
y: e.clientY
}; //获取鼠标在按下的时候的坐标
document.onmousemove = function(e){
e = e || window.event;
newXY = {
x: e.clientX,
y: e.clientY
}; //获取鼠标在移动过程中的坐标
that.style.left = (newXY.x - oldXY.x + x) + "px";
that.style.top = (newXY.y - oldXY.y + y) + "px";
that.style.zIndex = "100";
}
}
elem.onmouseup = function(e){
this.style.cursor = "default";
this.style.zIndex = "0";
document.onmousemove = function(e){ //在放开鼠标的时候覆盖掉mousemove事件函数
return;
}
}
}
}

文档

javascriptdragable的Move对象_javascript技巧

javascriptdragable的Move对象_javascript技巧: JavaScript Data Access Test var Move = { $: function(id){ return (typeof id == object) id : document.getElementById(id); }, pageX:function(elem){ //获取目标elem的X坐标 return elem.offsetParent //如果能继续得到上一个元素,增加当前的偏移量并继续向上递归 elem.offse
推荐度:
标签: js 对象 javascript
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top