<span id="searchspan" runat="server"><IMG src="images/icon_toolbar_left.gif"><IMG onmousedown="ToggleSearchMenu()" onmouseover="this.src='images/search_over.gif'" onmouseout="this.src='images/search.gif'" src="images/search.gif" border="0" alt="搜索" class="imgurl"><IMG src="images/icon_toolbar_right.gif"></span><div style="position:absolute;display:none;visibility:hidden;" id="SearchMenu">
<table class="tableBorder" cellpadding="5" cellspacing="0">
  <tr>
    <td class="fh">
      <asp:TextBox id="SearchText" runat="server" size="30" maxlength="50" />
      <asp:Button id="SearchButton" runat="server" text="搜索" />
    </td>
  </tr>
</table>
</div>
<script language="javascript">
  function ToggleSearchMenu() {
    searchMenu = document.getElementById('SearchMenu');
    searchButton = document.getElementById('searchspan');    searchMenu.style.left = getposOffset(searchButton, "left");
    searchMenu.style.top = getposOffset(searchButton, "top") + searchButton.offsetHeight;    if (searchMenu.style.visibility == "hidden") {
      searchMenu.style.visibility = "visible";
      searchMenu.style.display = 'block';
    } else {
      searchMenu.style.visibility = "hidden";
      searchMenu.style.display = 'none';
    }
  }</script>

解决方案 »

  1.   

    很奇怪的一个地方是:运行aspx文件之后,查看页面源码,发现span的id由“searchspan”变成了“ImageButtons1_searchspan”,这是怎么回事呢?而且我改为ImageButtons1_searchspan也还是提示同样的错误。why?
      

  2.   

    searchMenu = document.getElementById("SearchMenu");
      

  3.   

    to: huis(美女好难追呀)改成双引号还是同样的错误,help!!
      

  4.   

    一般显示和隐藏都是用style.display='none'
      

  5.   

    searchMenu.style.display= ‘none’或者‘’就可以了
    vis……那个没用
      

  6.   

    getposOffset这个函数出错了!!!
    试着改一下啊!
      

  7.   

    js有getposOffset这个方法吗?是不是你自定义的方法啊?
      

  8.   

    getposOffset這個求對象頁面坐標的函數沒有寫出來
      

  9.   

    我帮你改了一下:
    替换掉getposOffset的方法,可以运行了<span id="searchspan" runat="server"><IMG src="images/icon_toolbar_left.gif"><IMG onmousedown="ToggleSearchMenu()" onmouseover="this.src='images/search_over.gif'" onmouseout="this.src='images/search.gif'" src="images/search.gif" border="0" alt="搜索" class="imgurl"><IMG src="images/icon_toolbar_right.gif"></span><div style="position:absolute;display:none;visibility:hidden;" id="SearchMenu">
    <table class="tableBorder" cellpadding="5" cellspacing="0">
      <tr>
        <td class="fh">
          <asp:TextBox id="SearchText" runat="server" size="30" maxlength="50" />
          <asp:Button id="SearchButton" runat="server" text="搜索" />
        </td>
      </tr>
    </table>
    </div>
    <script language="javascript">
      function ToggleSearchMenu() {
        searchMenu = document.getElementById('SearchMenu');
        searchButton = document.getElementById('searchspan');    searchMenu.style.left = searchButton.style.left;   
     searchMenu.style.top = searchButton.style.top+searchButton.style.height;    if (searchMenu.style.visibility == "hidden") {
          searchMenu.style.visibility = "visible";
          searchMenu.style.display = 'block';
        } else {
          searchMenu.style.visibility = "hidden";
          searchMenu.style.display = 'none';
        }
      }
    </script>
      

  10.   

    谢谢haolaiwu(夜风),已经可以了,不过div的位置始终不能在top+height的位置,而是直接并排排在span的后面而已,不知道还有什么地方需要调整的呢?谢谢!!