js代码在页面的位置问题

  <form id="form1" runat="server">
      <div>
    <script language="javascript" type="text/javascript">
         lastScrollY=0;
         function floatDiv(){ 
         diffY=document.documentElement.scrollTop; 
         percent=.1*(diffY-lastScrollY); 
         if(percent>0)percent=Math.ceil(percent); 
         else percent=Math.floor(percent); 
          document.getElementById("floatControl").style.top=parseInt(document.getElementById
         ("floatControl").style.top)+percent+"px";// alert(parseInt(document.getElementById
         ("floatControl").style.top)+percent+"px");
         lastScrollY=lastScrollY+percent; }
          window.setInterval("floatDiv()",1);
    </script>
    ....................
    
<div id="floatControl" style="position: absolute; top: 35px; right: 10px">
                            <div class="honor">
                                <p class="titleH">
                                    荣誉</p>
                                <p>
                                    <span class="honorL"><%= Helper.Level.fundLevel(cost, 1, ResolveUrl("~")) %></span><%= Helper.Level.fundLevel(cost, 2, ResolveUrl("~")) %></p>
                                <p>
                                    <a href="#">贡献记录</a></p>
                                <p>
                                    <a href="#">什么是荣誉</a></p>
                            </div>
                            <div id="shortBtn">
                                <ul>
                                    <li class="btnU"><a href="../member/member.aspx">结识朋友</a></li>
                                    <li class="btnU"><a href="../group/createGroupStepA.aspx?sort=%e5%88%9b%e5%bb%ba%e7%be%a4">创建网群</a></li>
                                    <li class="btnU"><a href="../album/album.aspx">分享照片</a></li>
                                    <li class="btnU"><a href="../forum/forum.aspx">论坛灌水</a></li>
                                    <li class="btnU"><a href="../dictionary/dictionary.aspx">撰写百科</a></li>
                                    <li class="btnU"><a href="../news/news.aspx?cate=%e5%85%a8%e9%83%a8%e6%96%b0%e9%97%bb">发布新闻</a></li>
                                    <li class="btnU"><a href="../tour/tour.aspx">组团旅游</a></li>
                                    <li class="btnU"><a href="../cemetery/cemetery.aspx">网上纪念</a></li>
                                </ul>
                            </div>
                        </div>
.............................
 </div>
 </form>
总是报js错: document.getElementById("floatControl")为空,将js代码移到
 </div>
 </form>
上面时就没问题了(也就是div后面)
这是因为在执行js之前将div呈现出来了
服务器端注册js就有两种方式(实现js的不同位置)
 if (!ClientScript.IsStartupScriptRegistered("关健字"))
                ClientScript.RegisterStartupScript(GetType(), "关健字", strScript, true);

将js注册在
 </div>
 </form>
上面
 if (!ClientScript.IsStartupScriptRegistered("关健字"))
                ClientScript.RegisterClientScriptBlock(GetType(), "关健字", strScript, true);
将js注册在
  <form id="form1" runat="server">
      <div>

下面
posted @ 2008-02-19 18:51  yejun  阅读(889)  评论(0编辑  收藏  举报