脚本代码(For Alixixi.com)如下:
无标题文档#box{width:100px;height:100px;background:#966;position:absolute;left:100px;top:100px;cursor:pointer;}
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
case x>maxNum:x=maxNum;break;
default:x;
}
return x;
}
box.style.left='100px'
box.style.top='100px'
box.οnmοusedοwn=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.οnmοusemοve=function(e){
posXY(e,0,0,maxL,maxT);
};
doc.οnmοuseup=function(){
doc.οnmοusemοve=null;
doc.οnmοuseup=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'
}