Javascript获取鼠标位置及拖动函数
2009-06-16 15:54
447 查看
function mouseX(event) {
if(!event){
return window.event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft);
}else{
return event.pageX;
}
}
function mouseY(event) {
if(!event){
return window.event.clientY + (document.documentElement.scrollTop || document.body.scrollTop);
}else{
return event.pageY;
}
}
function Drag(){}
Drag.prototype.baseX = 0;
Drag.prototype.baseY = 0;
Drag.prototype.lastX = 0;
Drag.prototype.lastY = 0;
Drag.prototype.nowX = 0;
Drag.prototype.nowY = 0;
Drag.prototype.obD = null;
Drag.prototype.obM = null;
Drag.prototype.build = function(_obD,_obM){
if(_obM){
Drag.prototype.obM = _obM;
}else{
Drag.prototype.obM = _obD;
}
Drag.prototype.obD = _obD;
Drag.prototype.obM.onmousedown = function(event) {
Drag.prototype.lastX = mouseX(event);
Drag.prototype.lastY = mouseY(event);
Drag.prototype.baseX = Drag.prototype.obD.style.left;
Drag.prototype.baseY = Drag.prototype.obD.style.top;
this.onmousemove = function(event){
Drag.prototype.nowX = mouseX(event);
Drag.prototype.nowY = mouseY(event);
Drag.prototype.obD.style.left = (parseFloat(Drag.prototype.baseX) + Drag.prototype.nowX - Drag.prototype.lastX) + "px";
Drag.prototype.obD.style.top = (parseFloat(Drag.prototype.baseY) + Drag.prototype.nowY - Drag.prototype.lastY) + "px";
}
}
Drag.prototype.obM.onmouseup = function(event){
//obD.onmouseup = null;
Drag.prototype.obD.onmousemove = null;
}
Drag.prototype.obM.onmouseout = function(){
//obM.onmouseup = null
Drag.prototype.obM.onmousemove = null;
}
}
//使用方法
var drag = new Drag();
drag.build(getElementById("div"));//拖动本身
或
drag.build(getElementById("div"),getElementById("div"));//通过一个对象拖动另一个对象
if(!event){
return window.event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft);
}else{
return event.pageX;
}
}
function mouseY(event) {
if(!event){
return window.event.clientY + (document.documentElement.scrollTop || document.body.scrollTop);
}else{
return event.pageY;
}
}
function Drag(){}
Drag.prototype.baseX = 0;
Drag.prototype.baseY = 0;
Drag.prototype.lastX = 0;
Drag.prototype.lastY = 0;
Drag.prototype.nowX = 0;
Drag.prototype.nowY = 0;
Drag.prototype.obD = null;
Drag.prototype.obM = null;
Drag.prototype.build = function(_obD,_obM){
if(_obM){
Drag.prototype.obM = _obM;
}else{
Drag.prototype.obM = _obD;
}
Drag.prototype.obD = _obD;
Drag.prototype.obM.onmousedown = function(event) {
Drag.prototype.lastX = mouseX(event);
Drag.prototype.lastY = mouseY(event);
Drag.prototype.baseX = Drag.prototype.obD.style.left;
Drag.prototype.baseY = Drag.prototype.obD.style.top;
this.onmousemove = function(event){
Drag.prototype.nowX = mouseX(event);
Drag.prototype.nowY = mouseY(event);
Drag.prototype.obD.style.left = (parseFloat(Drag.prototype.baseX) + Drag.prototype.nowX - Drag.prototype.lastX) + "px";
Drag.prototype.obD.style.top = (parseFloat(Drag.prototype.baseY) + Drag.prototype.nowY - Drag.prototype.lastY) + "px";
}
}
Drag.prototype.obM.onmouseup = function(event){
//obD.onmouseup = null;
Drag.prototype.obD.onmousemove = null;
}
Drag.prototype.obM.onmouseout = function(){
//obM.onmouseup = null
Drag.prototype.obM.onmousemove = null;
}
}
//使用方法
var drag = new Drag();
drag.build(getElementById("div"));//拖动本身
或
drag.build(getElementById("div"),getElementById("div"));//通过一个对象拖动另一个对象
相关文章推荐
- JavaScript 获取页面上的鼠标位置(兼容Firefox 3.6, Opera 10.10, Chrome 4.1 和 Safari 4.0.4)
- Javascript获取鼠标位置
- JavaScript获取鼠标位置的三种方法
- 用javascript获取鼠标坐标位置
- JavaScript 获取鼠标及元素在页面上的位置
- 基于JavaScript实现 获取鼠标点击位置坐标的方法
- javascript之鼠标拖动位置互换效果代码
- javascript获取鼠标当前位置坐标 详细出处参考:http://www.jb51.net/article/27204.htm
- Javascript在IE或Firefox下获取鼠标位置的代码
- Javascript获取鼠标的位置, 获取Html控件的绝对位置的两种方法
- javascript获取鼠标点击位置的兼容写法
- 【javascript】事件获取鼠标相对于父容器的位置
- JavaScript获取鼠标坐标的函数(兼容IE、FireFox、Chrome)
- 通过 JavaScript 获取页面上的鼠标位置
- javascript获取鼠标位置部分的实例代码(兼容IE,FF)
- JavaScript 获取鼠标点击位置坐标
- 基于JavaScript获取鼠标位置的各种方法
- JavaScript中获取鼠标位置相关属性总结
- javascript获取鼠标位置部分的实例代码(兼容IE,FF)
- 基于JavaScript实现 获取鼠标点击位置坐标的方法