代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">加上这段头声明,浮动效果就没了,但是不加头声明也是不行的,不然css代码就失效了-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript">
var x=50,y=60;
var xin=true ,yin=true;
var step=1;
var delay=5;
function floatAD()
{var l=t=0;
var r=document.body.clientWidth-document.getElementById("fly").offsetWidth;
var b=document.body.clientHeight-document.getElementById("fly").offsetHeight;
document.getElementById("fly").style.left=x+document.body.scrollLeft;
document.getElementById("fly").style.top=y+document.body.scrollTop;
x=x+step*(xin?1:-1);
if(x<l)
{xin=true;x=l;}
if(x>r)
{xin=false;x=r;}
y=y+step*(yin?1:-1);
if(y<t)
{yin=true;y=t;}
if(y>b)
{yin=false;y=b;}}
var itl= setInterval("floatAD()", delay) 
document.getElementById("fly").onmouseover=function(){clearInterval(itl)} 
document.getElementById("fly").onmouseout=function(){itl=setInterval("floatAD()", delay)}</script>
</head><body><div id="fly" style="POSITION: absolute"><img src="img_2009/main_index_11.jpg" alt="浮动窗口"></div>
</body>
</html>
有人说把document.body.scrollTop改成document.documentElement.scrollTop就行了,我改了之后运行,仍然没有实现漂浮效果,期待高手来解决这个问题!

解决方案 »

  1.   

    有4个地方改下
    document.body
    ===>
    document.documentElement
    PS:LZ这段JS要等页面加载完毕后才可以运行,我在JS标签中加入了defer属性
    作用类似与window.onload
    <!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"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
    <title>无标题文档 </title> 
    <script language="javascript" defer> 
    var x=50,y=60; 
    var xin=true ,yin=true; 
    var step=1; 
    var delay=5; 
    function floatAD() 
    {var l=t=0; 
    var r=document.documentElement.clientWidth-document.getElementById("fly").offsetWidth; 
    var b=document.documentElement.clientHeight-document.getElementById("fly").offsetHeight; 
    document.getElementById("fly").style.left=x+document.documentElement.scrollLeft+"px"; 
    document.getElementById("fly").style.top=y+document.documentElement.scrollTop+"px"; 
    x=x+step*(xin?1:-1); 
    if(x <l) 
    {xin=true;x=l;} 
    if(x>r) 
    {xin=false;x=r;} 
    y=y+step*(yin?1:-1); 
    if(y <t) 
    {yin=true;y=t;} 
    if(y>b) 
    {yin=false;y=b;}} 
    var itl= setInterval("floatAD()", delay) 
    document.getElementById("fly").onmouseover=function(){clearInterval(itl)} 
    document.getElementById("fly").onmouseout=function(){itl=setInterval("floatAD()", delay)} </script> 
    </head> <body> <div id="fly" style="POSITION: absolute"> <img src="img_2009/main_index_11.jpg" alt="浮动窗口"> </div> 
    </body> 
    </html>