51可用代码模板网站

咨询热线:

181-1164-6936
  • 1
JS代码
当前位置:首页>实用代码>JS代码>

淡蓝色的鼠标拖动选择框

时间:2017-08-16 10:31点击:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
 #rectBox
 {
  background:#CCFFFF;
  border:2px solid #0099FF;
  filter:alpha(opacity=30);
  opacity:0.3;
  position:absolute;
 }
</style>
 <head>
<title>一个鼠标选择框</title>
 <script type="text/javascript">
  function Rect()
  {
   this.doc = document.documentElement;
   if(!this.doc) return;
   this.startX = '';
   this.startY = '';
   this.rect = null;
   rectSelf = this;
  }
  Rect.prototype.down = function(e)
  {
   var e = e?e:window.event;
   rectSelf.startX = e.clientX?e.clientX + document.body.scrollLeft:e.pageX;
   rectSelf.startY = e.clientY?e.clientY + document.body.scrollTop:e.pageY;
   rectSelf.showRect(true);
  }
  Rect.prototype.up = function(e)
  {
   rectSelf.rectBox.style.width = '0px';
   rectSelf.rectBox.style.height = '0px';
   rectSelf.showRect(false);
  }
  Rect.prototype.move = function(e)
  {
   if(rectSelf.rectBox)
   {
    var currentX = e.clientX?e.clientX + rectSelf.doc.scrollLeft:e.pageX;
    var currentY = e.clientY?e.clientY + rectSelf.doc.scrollTop:e.pageY;
    rectSelf.rectBox.style.width = Math.abs(currentX - rectSelf.startX) + 'px';
    rectSelf.rectBox.style.height = Math.abs(currentY - rectSelf.startY) + 'px';
    if(currentX - rectSelf.startX < 0)
    {
     rectSelf.rectBox.style.left = currentX + 'px';
    }
    if(currentY - rectSelf.startY < 0)
    {
     rectSelf.rectBox.style.top = currentY + 'px';
    }
    //document.title = "left:"+currentX + 'px  '+"top:"+currentY + 'px  ';
   }
  }
  Rect.prototype.showRect = function(bool)
  {
   if(bool)
   {
    if(!this.rectBox)
    {
     this.rectBox = document.createElement("div");
     this.rectBox.id = "rectBox";
     document.body.appendChild(this.rectBox);
    }
    this.rectBox.style.display = "block";
    this.rectBox.style.left = this.startX + 'px';
    this.rectBox.style.top = this.startY + 'px'; 
    this.addEventListener(this.doc , 'mousemove' , this.move);
   }
   else
   {
    if(this.rectBox)
    {
     this.rectBox.style.display = "none";
    }
    this.removeEventListener(this.doc , 'mousemove' , this.move);
   }
  }
  Rect.prototype.addEventListener = function(o,e,l) 
  {
   if (o.addEventListener) {
    o.addEventListener(e,l,false);
   } else if (o.attachEvent) {
    o.attachEvent('on'+e,function() {
     l(window.event);
    });
   }
  }
  Rect.prototype.removeEventListener = function(o,e,l) 
  {
   if (o.removeEventListener) {
    o.removeEventListener(e,l,false);
   } else if (o.detachEvent) {
    o.detachEvent('on'+e,function() {
     l(window.event);
    });
   }
  }
  window.onload = function()
  {
   var oRect = new Rect();
   oRect.addEventListener(oRect.doc , 'mousedown' , oRect.down);
   oRect.addEventListener(oRect.doc , 'mouseup' , oRect.up);
  }
 </script>
 </head>
 <body>
 <h1>拖动你的鼠标就会出现选择框</h1>
<div><A href="http://www.51kydm.com/">http://www.51kydm.com/</A></div>
 </body>
</html> 
51可用模板(代码)网站专为广大站长朋友提供精品模板与代码,同时免费提供网站收录。
本站域名: WWW.51KYDM.COM    联系方式:QQ:182468923    手机:18111646936
本站关键词:网站链接收录网址收录入口网站免费提交收录网站收录提交入口    网站地图
51可用模板
展开