Heim > Web-Frontend > js-Tutorial > Hauptteil

Unterstützt das Ziehen mit der Maus und das Ziehen von Mauszeigereffekten in IE-, Firefox- und Chrome-Browsern_Layout und Ebenen

WBOY
Freigeben: 2016-05-16 16:16:27
Original
2003 Leute haben es durchsucht

Kerncode:

<!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>
Nach dem Login kopieren


[Strg A alles auswählen Hinweis: Wenn Sie externe Js einführen müssen, müssen Sie zum Ausführen eine Aktualisierung durchführen
]<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>
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!