window.onscroll=function()
{
document.getElementById("NavFloat").style.top=document.documentElement.scrollTop+400+"px";
}
我用上面的代码做了个QQ客服广告,但是在IE6下页面向下滚动是正常效果,而在IE7下则将会无限制的向下滚动(远超过网页底部),请问这是为什么?应该如何修改这段代码。谢谢!在线跪等。
注:NavFloat 是QQ客服广告DIV的内容。
效果测试页:http://www.englang.cn   左面部分的QQ客服。

解决方案 »

  1.   


    <!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=utf-8" />
    <title>无标题文档</title>
    </head><body style=" margin:0;">
    <div id="Layer1" style="background-color:#CCC; width:108px; height:200px; position:absolute;"></div>
    <script type="text/javascript"> 
    var f_div=document.getElementById("Layer1");
    f_div.style.marginLeft=(screen.width-parseInt(f_div.style.width)-22)+"px";
    //调整距离顶部的距离
    f_div.style.marginTop=window.screen.availHeight/3+"px";
    var tTop=parseInt(f_div.style.marginTop);
    window.onscroll=function(){ 
    var scrollPos;
    if (typeof window.pageYOffset != 'undefined') {
    scrollPos = window.pageYOffset;
    }
    else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') { 
    scrollPos = document.documentElement.scrollTop; 
    } else if (typeof document.body != 'undefined') { 
    scrollPos = document.body.scrollTop; 

    f_div.style.marginTop=tTop+scrollPos+"px";
    }
    </script><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    </body>
    </html>