none
aspx下的 DOCTYPE 标签 会导致 JS 不能正常工作!? RRS feed

  • 问题

  • 我从别的网站扒下来一段浮动div的js,但是在自己的工程里无法工作,对比之下发现对方的源码页里没有DOCTYPE 这段,试着把自己的ASPX里的 DOCTYPE 内容删掉,果然可以正常运行了,这个 DOCTYPE 会影响些什么东西?我的页面源码如下

     

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="piaofu2.aspx.cs" Inherits="piaofu2" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
      <title></title>
    </head>
    <body>
      <form id="form1" runat="server">
      <div style="height:1600px;">
       <div id="divStay" style="position: absolute">
        <table cellspacing="0" cellpadding="0" width="100%" border="0">
          <tbody>
            <tr>
              <td valign="top" width="7%">
              </td>
            </tr>
          </tbody>
        </table>
      </div>
      <div id="divStayTopleft" style="position: absolute;height:160px; width:100px; border-style:groove; border-width:3px; border-color:Black">
       
      </div>
      </div>
      <script language="javascript" type="text/javascript">
    
        function picsize(obj, MaxWidth) {
          img = new Image();
          img.src = obj.src;
          if (img.width > MaxWidth) {
            return MaxWidth;
          }
          else {
            return img.width;
          }
        }
        function CloseQQ() {
          divStayTopleft.style.display = "none";
          return true;
        }
        var online = new Array();
    
    
        function Closediv() {
          aa.style.display = "none";
          return true;
        }
    
    
        function FloatTop() {
          var startX1 = document.body.offsetWidth - 125, startY1 = 5;
          var startX2 = 0, startY2 = 95;
          var ns = (navigator.appName.indexOf("Netscape") != -1);
          var d = document;
          function ml(id, startX, startY) {
            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;
            el.y = startY;
            return el;
          }
          window.stayTopLeft = function() {
            var pY = ns ? pageYOffset : document.body.scrollTop;
            ftlObj.y += (pY + startY1 - ftlObj.y) / 8;
            ftlObj1.y += (pY + startY2 - ftlObj1.y) / 8;
            ftlObj.sP(document.body.scrollLeft + document.body.offsetWidth - 125, ftlObj.y);
            ftlObj1.sP(ftlObj1.x, ftlObj1.y);
            setTimeout("stayTopLeft()", 30);
          }
          ftlObj = ml("divStay", (document.body.scrollLeft + document.body.offsetWidth) / 2 + 379, 0);
          ftlObj1 = ml("divStayTopLeft", (document.body.scrollLeft + document.body.offsetWidth) / 2 + 379, 30);
          stayTopLeft();
        }
        FloatTop();
      
      </script>
      </form>
    </body>
    </html>
    2010年4月28日 6:51

答案

全部回复

  • http://www.blueidea.com/tech/web/2007/5172.asp
    2010年4月28日 7:37
  • 是你对标准的使用存在问题

     

    http://blog.csdn.net/net_lover/archive/2006/12/29/1467390.aspx

    http://blog.csdn.net/net_lover/archive/2006/08/25/1116488.aspx

     

    你这段代码也太老了


    【孟子E章】
    2010年4月29日 0:19
    版主
  • 是你对标准的使用存在问题

     

    http://blog.csdn.net/net_lover/archive/2006/12/29/1467390.aspx

    http://blog.csdn.net/net_lover/archive/2006/08/25/1116488.aspx

     

    你这段代码也太老了


    【孟子E章】
     有没有比较新的? -0-
    2010年4月29日 1:05
  • 呵呵。LZ的才是最传统的js代码了。

    有兴趣看下jquery了。


    别人笑我忒疯癫,我笑别人看不穿; 不见五陵豪杰墓,无花无酒锄作田。
    2010年4月30日 2:48