<!--#####################-->
<!-- 根据网上下载的代码，做修改，可以适应ie firefox opera的浮动窗口模块 -->
<!--页面上悬浮的div div的id必须=disp_query-->
self.onError=null;
currentX = currentY = 0; 
whichIt = null; 
lastScrollX = 0; lastScrollY = 0;
NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1: 0;
FF = (document.getElementById) ? 1: 0;
<!-- STALKER CODE -->
function heartBeat() {
if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
else if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
else if(FF) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft;}

if(diffY != lastScrollY)
{
  percent = .1 * (diffY - lastScrollY);
  if(percent > 0) percent = Math.ceil(percent);
  else percent = Math.floor(percent);
  if(IE) document.all.disp_query.style.pixelTop += percent;
  else if(NS) document.disp_query.top += percent;
  else if(FF) 
  {
	var fftop = public_getObject("disp_query").style.top;
	fftop = parseFloat(fftop) + percent + "px";
	public_getObject("disp_query").style.top = fftop;
  }
  lastScrollY = lastScrollY + percent;
}//end if(diffY != lastScrollY)
if(diffX != lastScrollX) 
{
  percent = .1 * (diffX - lastScrollX);
  if(percent > 0) percent = Math.ceil(percent);
  else percent = Math.floor(percent);
  if(IE) document.all.disp_query.style.pixelLeft += percent;
  else if(NS) document.disp_query.left += percent;
  else if(FF) 
  {
	var ffleft = public_getObject("disp_query").style.left;
	ffleft = parseFloat(ffleft) + percent + "px";
	public_getObject("disp_query").style.left = ffleft;
  }
  lastScrollX = lastScrollX + percent;
}//end if(diffX != lastScrollX) 
}//end function
<!-- /STALKER CODE -->
<!-- DRAG DROP CODE -->
function checkFocus(x,y) { 
stalkerx = public_getObject("disp_query").pageX;
stalkery = public_getObject("disp_query").pageY;
stalkerwidth  = public_getObject("disp_query").clip.width;
stalkerheight = public_getObject("disp_query").clip.height;
if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;
else return false;
}
function grabIt(e) 
{
  if(IE)
  {
    whichIt = event.srcElement;
    while (whichIt.id.indexOf("disp_query") == -1)
    {
      whichIt = whichIt.parentElement;
      if (whichIt == null)
	  {
	    return true;
	  }//end if
    }//end while
    whichIt.style.pixelLeft = whichIt.offsetLeft;
    whichIt.style.pixelTop = whichIt.offsetTop;
    currentX = (event.clientX + document.body.scrollLeft);
    currentY = (event.clientY + document.body.scrollTop); 
  }//end if(IE)
  else if (FF)
  {
    if (!e)
	{
      e = window.event;
	}
	
    whichIt = e.target;

    while (whichIt.id.indexOf("disp_query") == -1)
    {
      whichIt = whichIt.parentNode;
      if (whichIt == null)
	  {
	    return true;
	  }//end if
    }//end while

    whichIt.style.left = whichIt.offsetLeft;
    whichIt.style.top = whichIt.offsetTop;

    currentX = (e.clientX + document.body.scrollLeft);
    currentY = (e.clientY + document.body.scrollTop);
  }//end else if (FF)
  else
  { 
    window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
    if(checkFocus(e.pageX,e.pageY))
	{ 
      whichIt = document.disp_query;
      StalkerTouchedX = e.pageX-document.disp_query.pageX;
      StalkerTouchedY = e.pageY-document.disp_query.pageY;
    }//end if 
  }//end else
  return true;
}//end function
function moveIt(e) {
if (whichIt == null) { return false; }
if(IE) {
newX = (event.clientX + document.body.scrollLeft);
newY = (event.clientY + document.body.scrollTop);
distanceX = (newX - currentX); distanceY = (newY - currentY);
currentX = newX; currentY = newY;

whichIt.style.pixelLeft += distanceX;
whichIt.style.pixelTop += distanceY;
if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;
if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;
if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;
event.returnValue = false;
}//end if(IE)
else if (FF)
{
    if (!e)
	{
      e = window.event;
	}
	
newX = (e.clientX + document.body.scrollLeft);
newY = (e.clientY + document.body.scrollTop);
distanceX = (newX - currentX);
distanceY = (newY - currentY);
currentX = newX; currentY = newY;

var whichitleft = whichIt.style.left;
whichitleft = parseFloat(whichitleft) + distanceX + "px";
whichIt.style.left = whichitleft;

var whichittop = whichIt.style.top;
whichittop = parseFloat(whichittop) + distanceY + "px";
whichIt.style.top = whichittop;

//whichIt.style.pixelLeft += distanceX;
//whichIt.style.pixelTop += distanceY;
if(whichIt.style.top < document.body.scrollTop) whichIt.style.top = document.body.scrollTop;
if(whichIt.style.left < document.body.scrollLeft) whichIt.style.left = document.body.scrollLeft;
if(whichIt.style.left > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.width - 20) whichIt.style.left = document.body.offsetWidth - whichIt.style.width - 20;
if(whichIt.style.top > document.body.offsetHeight + document.body.scrollTop - whichIt.style.height - 5) whichIt.style.top = document.body.offsetHeight + document.body.scrollTop - whichIt.style.height - 5;
e.returnValue = false;
}//end else if (FF)
else
{ 
whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);
if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;
if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;
if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;
if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
return false;
}//end else
return false;
}//end fuction
function dropIt() {
whichIt = null;
if(NS) window.releaseEvents (Event.MOUSEMOVE|Event.MOUSEUP);
return true;
}
<!-- DRAG DROP CODE -->
if(NS)
{
  window.captureEvents(Event.MOUSEDOWN);
  //window.onmousedown = grabIt;
  //window.onmousemove = moveIt;
  //window.onmouseup = dropIt;
  public_attachEventListener(window,'mousedown',grabIt,false);
  public_attachEventListener(window,'mousemove',moveIt,false);
  public_attachEventListener(window,'mouseup',dropIt,false);
}
else if(IE)
{
  //document.onmousedown = grabIt;
  //document.onmousemove = moveIt;
  //document.onmouseup = dropIt;
  public_attachEventListener(document,'mousedown',grabIt,false);
  public_attachEventListener(document,'mousemove',moveIt,false);
  public_attachEventListener(document,'mouseup',dropIt,false);
}
else if (FF)
{
  public_attachEventListener(document,'mousedown',grabIt,false);
  public_attachEventListener(document,'mousemove',moveIt,false);
  public_attachEventListener(document,'mouseup',dropIt,false);	
}

if(NS || IE || FF) action = window.setInterval("heartBeat()",1);//window.setTimeout("heartBeat()",1);//
<!-- /DRAG DROP CODE -->


