<html>
<head>
<style type = 'text/css' media = 'screen'>
#floater{
left:500;
top:146;
width:125;
visibility:visible;
z-index:10;
}
</style>
</head>
<body>
<div id = "floater" style = "left:590px; top:58px">
<p align = 'center'>
<img src = "img3.jpg" alt = "网页制作" width = '337' height = '470'><br />
</p>
</div>
<script language = 'javascript'>
self.onError = null;
currentX = currentY = 0;
whichIt = null;
lastScrollX = 0;
lastScrollY = 0;
NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1 : 0;
<!------stalker code------>
function heartBeat()
{
if(IE)
{
diffy = document.body.scrollTop;
diffx = document.body.scrollLeft;
}
if(NS)
{
diffy = self.pageYOffset;
diffx = self.pageXOffset;
}
if(diffy != lastScrollY)
{
percent = .1 * (diffy - lastScrollY);
if(percent > 0)
{
percent = Math.ceil(percent);
}
else
{
percent = Math.floor(percent);
}
if(IE)
{
document.all.floater.style.pixelTop += percent;
}
if(NS)
{
document.floater.top += percent;
}
lastScrollY = lastScrollY + percent;
}
if(diffx != lastScrollX)
{
percent = .1 * (diffx - lastScrollX);
if(percent > 0)
{
percent = Math.ceil(percent);
}
else
{
percent = Math.floor(percent);
}
if(IE)
{
document.all.floater.style.pixelLeft += percent;
}
if(NS)
{
document.floater.left += percent;
}
lastScrollX = lastScrollX + percent;
}
}
<!------/stalker code------>
<!------drag drop code------>
function checkFocus(x,y)
{
stalkerx = document.floater.pageX;
stalkery = documnet.floater.pageY;
stalkerwidth = document.floater.clip.width;
stalkerheight = document.floater.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("floater") == -1)
{
whichIt = whichIt.parentElement;
if(whichIt == null)
{
return true;
}
}
whichIt.style.pixelLeft = whichIt.offsetLeft;
whichIt.style.pixelTop = whichIt.offsetTop;
currentX = (event.clientX + document.body.scrollLeft);
currentY = (event.clientY + document.body.scrollTop);
}
else
{
window.captureEvents(Event.MOUSEMOVE);
if(checkFocus(e.pageX,e.pageY))
{
whichIt = document.floater;
StalkerTouchedX = e.pageX - document.floater.pageX;
StalkerTouchedY = e.pageY - document.floater.pageY;
}
}
return true;
}
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;
}
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 + which.clip.width) >= (window.innerWidth + self.pageXOffset - 17))
{
which.left = ((window.innerWidth + self.pageXOffset) - whichIt.clip.width) - 17;
}
if((whichIt.top + which.clip.height) >= (window.innerHeight + self.pageXOffset - 17))
{
which.top = ((window.innerHeight + self.pageYOffset) - whichIt.clip.height) - 17;
}
return false;
}
return false;
}
function dropIt()
{
whichIt = null;
if(NS)
{
window.releaseEvents(Event.MOUSEMOVE);
}
return true;
}
<!------drag drop code------>
if(NS)
{
window.captureEvents(Event.MOUSEUP | Event.MOUSEDOWN);
window.onmousedown = grabIt;
window.onmousemove = moveIt;
window.onmouseup = dropIt;
}
if(IE)
{
window.onmousedown = grabIt;
window.onmousemove = moveIt;
window.onmouseup = dropIt;
}
if(NS || IE)
{
action = window.setInterval("heartBeat()", 1);
}
</script>
</body>
</html>

解决方案 »

  1.   

    style="position:fixed"就可以了,无需这么多代码
      

  2.   

    完整的例子
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <!--前面的DTD不能删除-->
    <style>
    html,body{margin:0;padding:0;}
    #y1 {position:fixed;top:82px;left:2px;}
    #y2 {position:fixed;top:82px;right:2px;}
    </style>
    <!--[if lte IE 6]>
    <style>
    #y1 {position:absolute;top:82px;left:2px;}
    #y2 {position:absolute;top:82px;right:2px;}
    </style>
    <![endif]-->
    <div id="y1"><img src="http://dotnet.aspx.cc/Images/logoSite.gif"/></div>
    <div id="y2"><img src="http://dotnet.aspx.cc/Images/logoSite.gif"/></div>
    <script>
    if(navigator.userAgent.indexOf("MSIE 6") >-1){
    window.onscroll=function(e){
     var t = document.documentElement?document.documentElement.scrollTop:document.body.scrollTop;
     document.getElementById("y1").style.top = document.getElementById("y2").style.top=t+82+"px";
     }
    }
    </script>
    <p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p>
    <p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p>
    <p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p>
    <p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p>
    <p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p>
    <p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p>