支持谷歌浏览器下鼠标拖动和拖拽的鼠标指针特效

<!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>

 

转载于:https://www.cnblogs.com/zhaozzm/p/4455629.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值