首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js高手.

2012-02-28 
求助js高手.. 帮忙解释一下下面的js代码是什么意思,很难懂啊.SCRIPTlanguagejavascriptif(!window.atta

求助js高手..

帮忙解释一下下面的js代码是什么意思,很难懂啊.
<SCRIPT   language=javascript>
        if(!window.attachEvent   &&   window.addEventListener)
        {
                    Window.prototype.attachEvent   =   HTMLDocument.prototype.attachEvent=
                    HTMLElement.prototype.attachEvent=function(en,   func,   cancelBubble)
                    {
                        var   cb   =   cancelBubble   ?   true   :   false;
                        this.addEventListener(en.toLowerCase().substr(2),   func,   cb);
                    };
        }
    function   scrollPosition()
        {
            var   L,   T,   w=window,   d=document,   dd=d.documentElement;
            if(w.pageXOffset)   L=w.pageXOffset;
            else   if(dd&&dd.scrollLeft)   L=dd.scrollLeft;
            else   if(d.body)   L=d.body.scrollLeft;

            if(w.pageYOffset)   T=w.pageYOffset;
            else   if(dd&&dd.scrollTop)   T=dd.scrollTop;
            else   if(d.body)   T=d.body.scrollTop;

            return   { "left ":   L,   "top ":   T};
        }    
function   CreateWaitElement()  
{
        var   loading   =   document.getElementById( 'loading ');
                        if   (!loading)
                                {
                                var   str   =   " <div   id= 'loading '   style= 'color:   #000000;   \
                                background-color:   #FFFFAF;   \
                                padding:   0   3px;   font-size:   12px;   \
                                font-weight:   bold;       height:   30px;       width:   160px;   \
                                position:   absolute;     border:   #cccccc   1px   solid;\
                                '> 正在处理您的请求... </div> ";
                                var   s   =   document.createElement( "SPAN ");


                                s.innerHTML   =   str;
                                loading   =   s.firstChild;
        document.body.insertBefore(loading,   document.body.firstChild);
                }
      return   loading;    
}
window.attachEvent( "onload ",   function()
{
        var   loading   =   CreateWaitElement();
      loading.style.display   =   "none ";  
      window.attachEvent( "onscroll ",   function(e)
  {
        var   xy   =   scrollPosition();
      loading.style.top   =   (xy.top   +   10)     + "px ";
      loading.style.left   =   (xy.left   +   document.body.offsetWidth   -   200)     + "px ";
  });      
});
function   Anthem_PreCallBack()   {CreateWaitElement().style.display   =   " ";   }
function   Anthem_PostCallBack()   {document.getElementById( "loading ").style.display= "none ";}
</SCRIPT>

[解决办法]
attachEvent应该是对应IE,addEventListener对应的ff,两个都是在对某个元素添加事件
Attaches the specified event handler and
function to the element so that every time
the event fires, the function is called.(attachevent IE5.0+)
这莫写就是考虑了浏览器的兼容性

热点排行