<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">这段东西起什么用。我在使用一个别人写的JS函数时出现“Object未定义”的异常,位置就是上面这段标志,我删除掉后就可以了。

解决方案 »

  1.   

    还有我删除了后页面的样式会发生点改变,本来DIV居中的,现在变成居左了。
      

  2.   

    要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效
      

  3.   


    是影响到JS,JS函数是别人写的,调试的时候出现“Object未定义”的异常,位置就是上面这段标志。
      

  4.   


    那个东西肯定要留着迈,是网页标准方面的东西,你说的“Object未定义”的异常,肯定是js哪地方有错误,找出来修改掉不就ok了。
      

  5.   


    代码是直接拷过来的,在HTML里面运行是没有问题的。
      

  6.   

    http://www.w3school.com.cn/tags/tag_doctype.aspXHTML标准的文档类型定义,xhtml1-transitional.dtd用来告诉浏览器使用哪种方式来解析这个html
      

  7.   

    没有文档类型标签会影响样式。
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html> 
    <head> 
    <title>Div拖动/调整大小实例</title> 
    </head> 
    <script type="text/javascript"> 
    //保留的位置 
    var saveLeft,saveTop,saveWidth,saveHeight; 
    var theBody; 
    var eventType;    //事件种类, "move"、"resize" 
    var div; //创建并设定div的参数 
    function setDiv() 
    {   var newLeft,newTop,newWidth,newHeight; 
      theBody = document.body; 
       
      div = document.createElement("div"); 
      div.id = "panelDiv"; 
      div.style.position = "absolute"; 
      div.style.backgroundColor = "#E5E5E5" 
      div.style.padding = "2px 5px 5px 2px"; 
      div.style.overflow = "hidden"; 
      div.style.zIndex = 1; 
       
      //设定打开的大小和位置 
      Function() 
      { 
        newWidth = saveWidth ? saveWidth : "300px"; 
        newHeight = saveHeight ? saveHeight : "300px"; 
        newLeft = saveLeft ? saveLeft : (theBody.clientWidth - parseInt(newWidth)) / 2 + "px"; 
        newTop = saveTop ? saveTop : (theBody.clientHeight - parseInt(newHeight)) / 2 + "px"; 
       div.style.width = newWidth; 
       div.style.height = newHeight; 
       div.style.left = newLeft; 
       div.style.top = newTop; 
      } 
      div = setChild(div); 
      theBody.appendChild(div); 
      div.style.top=100;

       
    } function setChild(div) 
    {   //底色 
      var cDiv = document.createElement; 
      var backDiv = cDiv("div"); 
      backDiv.style.cssText = "left: 0px; top: 0px; width: 100%; height: 100%; background-color: #F5F5F5;"; 
      div.appendChild(backDiv); 
       
      //标题 
      var topDiv = cDiv("div"); 
      topDiv.style.cssText = "left: 2px; top: 2px; width: 100%; height: 30px; position: absolute; background-color: #78ABFF; vertical-align: middle; z-index: 5"; 
      topDiv.style.cursor = "move"; 
       topDiv.setAttribute("onmousedown", function(){setMove(this)}); 
      topDiv.innerHTML = "<span style='top: 5px; left:5px; font-size: 20px; font-weight: bold; color: #102548; position: relative;' onselectstart='return false'>标题栏</span>"; 
      div.appendChild(topDiv); 
       
     
       
      return div; 
    } var oX, oY, oLeft, oTop, oWidth, oHeight; //存储原始移动前的位置 
    var divClone, oDiv;   //克隆的节点和原始节点 
    var oTime; 
    //clone拖移的节点 
    function setMove(obj) 

      if (event.button == 1) 
      { 
       if (oTime) 
       { 
        clearTimeout(oTime); 
        divClone.parentNode.removeChild(divClone); 
       } 
       oDiv = obj.parentNode; 
       divClone = oDiv.cloneNode(true); 
       divClone.style.filter = "Alpha(opacity=50)"; 
       divClone.childNodes[1].setAttribute("onmousemove", function(){startMove(this)}); 
       divClone.childNodes[1].setAttribute("onmouseup", function(){endMove()}); 
       oX = parseInt(event.clientX); 
       oY = parseInt(event.clientY); 
       oLeft = parseInt(divClone.style.left); 
       oTop = parseInt(divClone.style.top); 
       document.body.appendChild(divClone); 
       divClone.childNodes[1].setCapture(); 
       eventType = "move"; 
      } 
    } //拖移 
    function startMove(obj) 

      if (eventType == "move" && event.button == 1) 
      { 
       var moveDiv = obj.parentNode; 
       moveDiv.style.left = (oLeft + event.clientX - oX) + "px"; 
       moveDiv.style.top = (oTop + event.clientY - oY) + "px"; 
      } 
    } //拖移结束调用动画 
    function endMove() 

      if (eventType == "move") 
      { 
       divClone.childNodes[1].releaseCapture(); 
                move(parseInt(divClone.style.left), parseInt(divClone.style.top)); 
       eventType = ""; 
      } 
    } //移动的动画 
    function move(aimLeft, aimTop) 

      var nowLeft = parseInt(oDiv.style.left); 
      var nowTop = parseInt(oDiv.style.top); 
      var moveSize = 30; 
      if (nowLeft > aimLeft + moveSize || nowLeft < aimLeft - moveSize || nowTop > aimTop + moveSize || nowTop < aimTop - moveSize) 
      { 
       oDiv.style.left = aimLeft > nowLeft + moveSize ? (nowLeft + moveSize) + "px" : aimLeft < nowLeft - moveSize ? (nowLeft - moveSize) + "px" : nowLeft + "px"; 
       oDiv.style.top = aimTop > nowTop + moveSize ? (nowTop + moveSize) + "px" : aimTop < nowTop - moveSize ? (nowTop - moveSize) + "px" : nowTop + "px"; 
       oTime = setTimeout("move(" + aimLeft + ", " + aimTop + ")", 1); 
      } 
      else 
      { 
       oDiv.style.left = divClone.style.left; 
       oDiv.style.top = divClone.style.top; 
       divClone.parentNode.removeChild(divClone); 
       divClone == null; 
      } 
    } </script> 
    <body> </body> 
    <script>
    setDiv();
    </script>
    </html>
    上面是代码,没有那段标签的话是正常的,DIV会再现在页面的中部,加了后似乎JS获取到页面高度会不一样。
    我在后面加了“div.style.top=100;”,但是当触发onmousedown事件的时候就报异常了。