支持IE,firefxo,chrome浏览器下鼠标拖动和拖拽的鼠标指针特效
作者:bea
核心代码: <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>鼠标拖动和拖拽的鼠标指针特效</title><style>#box{width:100px;heig
核心代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鼠标拖动和拖拽的鼠标指针特效</title>
<style>
#box{width:100px;height:100px;background:#966;position:absolute;left:100px;top:100px;cursor:pointer;}
</style>
</head>
<body>
<div id="box"></div>
<script>
var doc=document;
function getViewport(){
return {width:Math.max(document.documentElement.clientWidth,document.documentElement.scrollWidth),
height:Math.max(document.documentElement.clientHeight,document.documentElement.scrollHeight)
};
}
function compareNum(x,minNum,maxNum){
switch(true){
case x<minNum:x=minNum;break;
case x>maxNum:x=maxNum;break;
default:x;
}
return x;
}
box.style.left='100px'
box.style.top='100px'
box.onmousedown=function(e){
var e=e||window.event;
var maxL=getViewport().width-100,
maxT=getViewport().height-100;
this.startL=parseInt(this.style.left);
this.startT=parseInt(this.style.top);
//alert(e.clientX)
this.startX=e.clientX;
this.startY=e.clientY;
//alert(maxL+':'+maxT+':'+L+':'+T)
doc.onmousemove=function(e){
posXY(e,0,0,maxL,maxT);
};
doc.onmouseup=function(){
doc.onmousemove=null;
doc.onmouseup=null;
};
return false;
}
function posXY(e,minL,minT,maxL,maxT){
var e=e||window.event;
var x=box.startL-(box.startX-e.clientX);
var y=box.startT-(box.startY-e.clientY);
box.style.left=compareNum(x,minL,maxL)+'px'
box.style.top=compareNum(y,minT,maxT)+'px'
}
</script>
</body>
</html>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鼠标拖动和拖拽的鼠标指针特效</title>
<style>
#box{width:100px;height:100px;background:#966;position:absolute;left:100px;top:100px;cursor:pointer;}
</style>
</head>
<body>
<div id="box"></div>
<script>
var doc=document;
function getViewport(){
return {width:Math.max(document.documentElement.clientWidth,document.documentElement.scrollWidth),
height:Math.max(document.documentElement.clientHeight,document.documentElement.scrollHeight)
};
}
function compareNum(x,minNum,maxNum){
switch(true){
case x<minNum:x=minNum;break;
case x>maxNum:x=maxNum;break;
default:x;
}
return x;
}
box.style.left='100px'
box.style.top='100px'
box.onmousedown=function(e){
var e=e||window.event;
var maxL=getViewport().width-100,
maxT=getViewport().height-100;
this.startL=parseInt(this.style.left);
this.startT=parseInt(this.style.top);
//alert(e.clientX)
this.startX=e.clientX;
this.startY=e.clientY;
//alert(maxL+':'+maxT+':'+L+':'+T)
doc.onmousemove=function(e){
posXY(e,0,0,maxL,maxT);
};
doc.onmouseup=function(){
doc.onmousemove=null;
doc.onmouseup=null;
};
return false;
}
function posXY(e,minL,minT,maxL,maxT){
var e=e||window.event;
var x=box.startL-(box.startX-e.clientX);
var y=box.startT-(box.startY-e.clientY);
box.style.left=compareNum(x,minL,maxL)+'px'
box.style.top=compareNum(y,minT,maxT)+'px'
}
</script>
</body>
</html>
[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行]
有用 | 无用
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鼠标拖动和拖拽的鼠标指针特效</title>
<style>
#box{width:100px;height:100px;background:#966;position:absolute;left:100px;top:100px;cursor:pointer;}
</style>
</head>
<body>
<div id="box"></div>
<script>
var doc=document;
function getViewport(){
return {width:Math.max(document.documentElement.clientWidth,document.documentElement.scrollWidth),
height:Math.max(document.documentElement.clientHeight,document.documentElement.scrollHeight)
};
}
function compareNum(x,minNum,maxNum){
switch(true){
case x<minNum:x=minNum;break;
case x>maxNum:x=maxNum;break;
default:x;
}
return x;
}
box.style.left='100px'
box.style.top='100px'
box.onmousedown=function(e){
var e=e||window.event;
var maxL=getViewport().width-100,
maxT=getViewport().height-100;
this.startL=parseInt(this.style.left);
this.startT=parseInt(this.style.top);
//alert(e.clientX)
this.startX=e.clientX;
this.startY=e.clientY;
//alert(maxL+':'+maxT+':'+L+':'+T)
doc.onmousemove=function(e){
posXY(e,0,0,maxL,maxT);
};
doc.onmouseup=function(){
doc.onmousemove=null;
doc.onmouseup=null;
};
return false;
}
function posXY(e,minL,minT,maxL,maxT){
var e=e||window.event;
var x=box.startL-(box.startX-e.clientX);
var y=box.startT-(box.startY-e.clientY);
box.style.left=compareNum(x,minL,maxL)+'px'
box.style.top=compareNum(y,minT,maxT)+'px'
}
</script>
</body>
</html>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鼠标拖动和拖拽的鼠标指针特效</title>
<style>
#box{width:100px;height:100px;background:#966;position:absolute;left:100px;top:100px;cursor:pointer;}
</style>
</head>
<body>
<div id="box"></div>
<script>
var doc=document;
function getViewport(){
return {width:Math.max(document.documentElement.clientWidth,document.documentElement.scrollWidth),
height:Math.max(document.documentElement.clientHeight,document.documentElement.scrollHeight)
};
}
function compareNum(x,minNum,maxNum){
switch(true){
case x<minNum:x=minNum;break;
case x>maxNum:x=maxNum;break;
default:x;
}
return x;
}
box.style.left='100px'
box.style.top='100px'
box.onmousedown=function(e){
var e=e||window.event;
var maxL=getViewport().width-100,
maxT=getViewport().height-100;
this.startL=parseInt(this.style.left);
this.startT=parseInt(this.style.top);
//alert(e.clientX)
this.startX=e.clientX;
this.startY=e.clientY;
//alert(maxL+':'+maxT+':'+L+':'+T)
doc.onmousemove=function(e){
posXY(e,0,0,maxL,maxT);
};
doc.onmouseup=function(){
doc.onmousemove=null;
doc.onmouseup=null;
};
return false;
}
function posXY(e,minL,minT,maxL,maxT){
var e=e||window.event;
var x=box.startL-(box.startX-e.clientX);
var y=box.startT-(box.startY-e.clientY);
box.style.left=compareNum(x,minL,maxL)+'px'
box.style.top=compareNum(y,minT,maxT)+'px'
}
</script>
</body>
</html>
[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行]
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- javascript的switch用法注意事项分析
- jQuery实现长按按钮触发事件的方法
- jQuery实现跟随鼠标运动图层效果的方法
- JavaScript针对网页节点的增删改查用法实例
- jQuery通过控制节点实现仅在前台通过get方法完成参数传递
- jQuery循环动画与获取组件尺寸的方法
- 基于jQuery实现最基本的淡入淡出效果实例
- JavaScript对数字的判断与处理实例分析
- JavaScript组件焦点与页内锚点间传值的方法
- JavaScript分秒倒计时器实现方法
- JavaScript使用setInterval()函数实现简单轮询操作的方法
- 同一个网页中实现多个JavaScript特效的方法
- JavaScript实现同步于本地时间的动态时间显示方法
- JavaScript实现更改网页背景与字体颜色的方法
- Javascript实现多彩雪花从天降散落效果的方法
- jQuery及JS实现循环中暂停的方法
- JQuery动画与特效实例分析
- Javascript核心读书有感之词法结构
- Javascript核心读书有感之语言核心