this.needTime=offsetSpeed; this.offsetSpeedTop=(this.midTop-this.startTop)/offsetSpeed; this.offsetSpeedLeft=(this.midLeft-this.startLeft)/offsetSpeed; this.divid="00"; this.divbackid; this.offsetSpeed=offsetSpeed; }, Show:function() { var div=document.createElement("div"); var divback=document.createElement("div"); var canelButton=document.createElement("button");
<script type="text/javascript">
<!--
function btn1_click(Obj){
//do something
alert("xx");
Obj.disabled=true;
}
-->
</script>
<input type="button" name="btn1" onclick="btn1_click(this)" value="提交"/>
但是一运行发现无法控制,再点,还会出现
<script type="text/javascript">
<!--
var UrlCache=new Object();
function Link_Click(Obj)
{
if(UrlCache[Obj.href]!=null){
return false;
}else{
UrlCache[Obj.href]=Obj.href;
return true;
}
}
-->
</script>
<a href="http://www.csdn.net" onclick="return Link_Click(this)" target="_blank">www.csdn.net</a>
var showDiv=Class.create();
var canBeDrag=Class.create();
window.onload=function()
{
}
var currnetDiv=0;
showDiv.prototype={
initialize:function(event,sender,width,heigth,offsetSpeed,backGroupOffset)
{
sender.disabled="disabled";
this.sender=sender;
this.startTop=event.y
this.startLeft=event.x
this.width=width;
this.heigth=heigth;
this.offsetSpeedWidht=width/offsetSpeed;
this.offsetSpeedHeight=heigth/offsetSpeed;
this.backGroupOffset=backGroupOffset;
this.midTop=768/2-heigth/2;
this.midLeft=1024/2-width/2;
this.needTime=offsetSpeed;
this.offsetSpeedTop=(this.midTop-this.startTop)/offsetSpeed;
this.offsetSpeedLeft=(this.midLeft-this.startLeft)/offsetSpeed;
this.divid="00";
this.divbackid;
this.offsetSpeed=offsetSpeed;
},
Show:function()
{
var div=document.createElement("div");
var divback=document.createElement("div");
var canelButton=document.createElement("button");
div.id=this.sender.id+"_Div";
divback.id=this.sender.id+"_DivBack";
canelButton.id=this.sender.id+"_Canel";
div.className="ShowDiv";
divback.className="ShowDiv";
divback.style.top=this.startTop;
divback.style.left=this.startLeft;
divback.style.zIndex=99+currnetDiv++;
div.style.top=this.startTop;
div.style.left=this.startLeft;
div.style.zIndex=100+currnetDiv++;
div.backDiv=divback;
canelButton.senderid=this.sender.id;
canelButton.divid=div.id;
canelButton.divbackid=divback.id;
canelButton.width=this.width;
canelButton.heigth=this.heigth;
canelButton.offsetSpeedWidht=this.offsetSpeedWidht;
canelButton.offsetSpeedHeight=this.offsetSpeedHeight;
canelButton.offsetSpeedTop=this.offsetSpeedTop;
canelButton.offsetSpeedLeft=this.offsetSpeedLeft;
canelButton.backGroupOffset=this.backGroupOffset;
canelButton.startTop=this.startTop;
canelButton.startLeft=this.startLeft;
canelButton.offsetSpeed=this.offsetSpeed;
canelButton.value="X";
canelButton.onclick=function()
{
var sender=$(this.senderid);
sender.disabled="";
this.offsetSpeedTop=(div.offsetTop-this.startTop)/this.offsetSpeed;
this.offsetSpeedLeft=(div.offsetLeft-this.startLeft)/this.offsetSpeed;
ClearTimeOut(this.divid,this.width,this.heigth,this.offsetSpeedWidht,this.offsetSpeedHeight,this.offsetSpeedTop,this.offsetSpeedLeft,this.backGroupOffset);
ClearTimeOut(this.divbackid,this.width,this.heigth,this.offsetSpeedWidht,this.offsetSpeedHeight,this.offsetSpeedTop,this.offsetSpeedLeft,this.backGroupOffset);
};
div.onfocus=function()
{
this.oldZIndex=this.style.zIndex;
this.backDivZIndex=div.backDiv.style.zIndex;
div.style.zIndex=9999;
div.backDiv.style.zIndex=9998;
};
div.onblur=function()
{
this.style.zIndex=this.oldZIndex;
div.backDiv.style.zIndex=this.backDivZIndex;
}
div.onmousedown=function()
{
var div=this;
var backDiv=this.backDiv;
var offsetX=event.clientX-div.offsetLeft;
var offsetY=event.clientY-div.offsetTop;
var backDivOffestX=event.clientX-backDiv.offsetLeft;
var backDivOffestY=event.clientY-backDiv.offsetTop;
document.body.onmousemove=function()
{
div.style.left=event.x-offsetX;
div.style.top=event.y-offsetY;
backDiv.style.left=event.x-backDivOffestX;
backDiv.style.top=event.y-backDivOffestY;
}
}
div.onmouseup=function()
{
document.body.onmousemove=null;
}
div.appendChild(canelButton);
document.body.appendChild(div);
document.body.appendChild(divback);
SetTimeOut(div.id,this.width,this.heigth,this.offsetSpeedWidht,this.offsetSpeedHeight,this.offsetSpeedTop,this.offsetSpeedLeft,this.backGroupOffset);
SetTimeOut(divback.id,this.width,this.heigth,this.offsetSpeedWidht,this.offsetSpeedHeight,this.offsetSpeedTop,this.offsetSpeedLeft,this.backGroupOffset); }
}
canBeDrag.prototype={
initialize:function(sender)
{
sender.onmousedown=function()
{
var backDiv=this.backDiv;
var offsetX=event.clientX-sender.offsetLeft;
var offsetY=event.clientY-sender.offsetTop;
document.body.onmousemove=function()
{
sender.style.left=event.x-offsetX;
sender.style.top=event.y-offsetY;
}
}
sender.onmouseup=function()
{
document.body.onmousemove=null;
document.body.onmouseup=function()
{
document.body.onmousemove=null;
}
}
}
}
function ClearTimeOut(divid,width,heigth,offsetSpeedWidht,offsetSpeedHeight,offsetSpeedTop,offsetSpeedLeft,backGroupOffset)
{
var div=$(divid);
if(div.offsetWidth>0&&div.offsetHeight>0)
{
div.style.width=div.offsetWidth-offsetSpeedWidht+"px";
div.style.height=div.offsetHeight-offsetSpeedHeight+"px";
div.style.top=parseInt(div.style.top)-offsetSpeedTop+"px";
div.style.left=parseInt(div.style.left)-offsetSpeedLeft+"px";
var method="ClearTimeOut('"+divid+"',"+width+","+heigth+","+offsetSpeedWidht+","+offsetSpeedHeight+","+offsetSpeedTop+","+offsetSpeedLeft+","+backGroupOffset+")";
window.setTimeout(method,offsetSpeedWidht);
}
else
{
document.body.removeChild(div);
}
}
function SetTimeOut(divid,width,heigth,offsetSpeedWidht,offsetSpeedHeight,offsetSpeedTop,offsetSpeedLeft,backGroupOffset)
{
var div=$(divid);
if(div.offsetWidth<width&&div.offsetHeight<heigth)
{
div.style.width=div.offsetWidth+offsetSpeedWidht+"px";
div.style.height=div.offsetHeight+offsetSpeedHeight+"px";
div.style.top=parseInt(div.style.top)+offsetSpeedTop+"px";
div.style.left=parseInt(div.style.left)+offsetSpeedLeft+"px";
var method="SetTimeOut('"+divid+"',"+width+","+heigth+","+offsetSpeedWidht+","+offsetSpeedHeight+","+offsetSpeedTop+","+offsetSpeedLeft+","+backGroupOffset+")";
window.setTimeout(method,offsetSpeedWidht);
}
else if(divid.indexOf( "_DivBack" )>0)
{
div.style.top=parseInt(div.style.top)+backGroupOffset+"px";
div.style.left=parseInt(div.style.left)+backGroupOffset+"px"
div.style.backgroundColor="black";
}
}function TestShowDiv(event,sender)
{
var test=new showDiv(event,sender,200,200,20,1);
test.Show();
}function initDragControl()
{
document.body.onselectstart=function(){return false};
var sender1=$("dragDiv1");
var sender2=$("dragDiv2");
var sender3=$("dragDiv3");
var drag1=new canBeDrag(sender1);
var drag2=new canBeDrag(sender2);
var drag3=new canBeDrag(sender3);
//var cla=new canBeDrag();
//alert("a");
//alert(drag1 instanceof showDiv);
//alert(arguments[0]);
}