<%
    QQ=split(zf11_qqonline,",")
    for N=0 to UBound(QQ)
    MyQQ=MyQQ+QQ(N)+":"
    next
%>
<script>
    var online= new Array();
    if (!document.layers)
    document.write('<div id="divStayTopLeft" style="position:absolute">')
</script>
<layer id="divStayTopLeft">
<table border="0" width="110" cellspacing="0" cellpadding="0">
<tr><td width="110"><img border=0 src=images/qqOnline/qqonline_up.gif></td></tr>
<script src="http://webpresence.qq.com/getonline?Type=1&<%=Myqq%>"></script>
<% for N=0 to UBound(QQ) %>
<tr><td valign=middle  background=images/qqOnline/qqonline_middle.gif>
<script>
    if (online[<%=n%>]==0)
    document.write("&nbsp;&nbsp;<img src=images/qqOnline/QQoffline.gif border=0 align=middle><a class='qqb' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=<%=QQ(n)%>&Site=在线咨询&Menu=no' title='业务客服不在线,请留言'>&nbsp;<%=QQ(n)%></a>");
    else
    document.write("&nbsp;&nbsp;<img src=images/qqOnline/QQonline.gif border=0 align=middle><a class='qqa' target=blank href='http://wpa.qq.com/msgrd?V=1&Uin=<%=QQ(n)%>&Site=在线咨询&Menu=no' title='业务在线即时交谈'>&nbsp;<%=QQ(n)%></a>");
</script>
</td></tr>
<% next %>
<tr><td width="110"><img border=0 src=images/qqOnline/qqonline_down.gif></td></tr>
</table>
</layer>
<script type="text/javascript">
    //Enter "frombottom" or "fromtop"
    var verticalpos="frombottom"
    if (!document.layers)
    document.write('</div>')
    function JSFX_FloatTopDiv()
    {
var startX = 892,
startY = 450;
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
function ml(id)
{
var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x;this.style.top=y;};
el.x = startX;
if (verticalpos=="fromtop")
el.y = startY;
else{
el.y = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
el.y -= startY;
}
return el;
}
window.stayTopLeft=function()
{
if (verticalpos=="fromtop"){
var pY = ns ? pageYOffset : document.body.scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/8;
}
else{
var pY = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
ftlObj.y += (pY - startY - ftlObj.y)/8;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("divStayTopLeft");
stayTopLeft();
    }
    JSFX_FloatTopDiv();
</script>

问题:红色部分的算法原理是什么?“if(d.layers)el.style=el”一句是什么意思?

解决方案 »

  1.   

    如果document有layers属性的话.就el.style=el
      

  2.   

    el.style=el中的el表示格式,还是什么?
      

  3.   

    为实现兼容
    Netscap用document.layers.top
    IE用document.getElementById.style.top
    假设有一个function f(obj){
        obj.style.top=xxx;
    }
    这样传递不同对象(document.layers或document.getElementById)过去都可以实现了
      

  4.   

    var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id]; 
    当有getElementById函数时.el是ID为id的DOM控件.
    否则如果有document.all,el还是ID为id的DOM控件.
    否则el为d.layers[id];