其实没有你想象那么难,主要是
document["divMenu"].
以及
divMenu.
用document.getElementById("divMenu"). 来替换
其实你的要求引入诸如jquery之类的库后更容易实现。

解决方案 »

  1.   

    谢谢,我先试着改改,jquery?没用过,我试试
      

  2.   

    直接用IE的那段代码就可以了<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    </head><BODY>
    <div id=divMenu style="Z-INDEX: 1; LEFT: 895px; WIDTH: 74px; POSITION: absolute; TOP: 64px; HEIGHT: 249px;"><img src="quick.gif" width="74" height="249" border="0"></div>
    <script language=JavaScript >
    var bNetscape4plus = false;//(navigator.appName == "Netscape" && navigator.appVersion.substring(0,1) >= "4");
    var bExplorer4plus = true;//(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(0,1) >= "4");
    function CheckUIElements(){
          var yMenuFrom, yMenuTo, yButtonFrom, yButtonTo, yOffset, timeoutNextCheck;      if ( bNetscape4plus ) { 
                  yMenuFrom   = document["divMenu"].top;
                  yMenuTo     = top.pageYOffset + 295; 
          }
          else if ( bExplorer4plus ) {
                  yMenuFrom   = parseInt (divMenu.style.top, 10);
                  yMenuTo     = document.body.scrollTop + 135; //距页面顶部的距离
          }      timeoutNextCheck = 500;      if ( Math.abs (yButtonFrom - (yMenuTo + 152)) < 6 && yButtonTo < yButtonFrom ) {
                  setTimeout ("CheckUIElements()", timeoutNextCheck);
                  return;
          }      if ( yButtonFrom != yButtonTo ) {
                  yOffset = Math.ceil( Math.abs( yButtonTo - yButtonFrom ) / 10 );
                  if ( yButtonTo < yButtonFrom )
                          yOffset = -yOffset;              if ( bNetscape4plus )
                          document["divLinkButton"].top += yOffset;
                  else if ( bExplorer4plus )
                          divLinkButton.style.top = parseInt (divLinkButton.style.top, 10) + yOffset;              timeoutNextCheck = 10;
          }
          if ( yMenuFrom != yMenuTo ) {
                  yOffset = Math.ceil( Math.abs( yMenuTo - yMenuFrom ) / 20 );
                  if ( yMenuTo < yMenuFrom )
                          yOffset = -yOffset;              if ( bNetscape4plus )
                          document["divMenu"].top += yOffset;
                  else if ( bExplorer4plus )
                          divMenu.style.top = parseInt (divMenu.style.top, 10) + yOffset;              timeoutNextCheck = 10;
          }      setTimeout ("CheckUIElements()", timeoutNextCheck);
    }function OnLoad()
    {
          var y;
          if ( top.frames.length )
          if ( bNetscape4plus ) {
                  document["divMenu"].top = top.pageYOffset + 135; 
                  document["divMenu"].visibility = "visible";
          }
          else if ( bExplorer4plus ) {
                  divMenu.style.top = document.body.scrollTop + 235;
                  divMenu.style.visibility = "visible";
          }
          CheckUIElements();
          return true;
    }
    OnLoad();
    </script>
    </BODY>
    </HTML>