1、document.body.scrollTop一直为0
IE6 and DTD 4.01 requires you to use document.documentElement in stead of document.body, so u will need somthing like the below:

if (document.documentElement && !document.documentElement.scrollTop)
// IE6 +4.01 but no scrolling going on
else if (document.documentElement && document.documentElement.scrollTop)
// IE6 +4.01 and user has scrolled
else if (document.body && document.body.scrollTop)

2、document.body.scrollTop总是零的原因

原来在HTML文件头部声明了这样一句:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

改成这样就好了:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
但页面稍有变化,感觉不爽,于是又在google里找,终于发现这是IE5与IE6的区别:

var scrollPos;
if (typeof window.pageYOffset != 'undefined') {
   scrollPos = window.pageYOffset;
}
else if (typeof document.compatMode != 'undefined' &&
     document.compatMode != 'BackCompat') {
   scrollPos = document.documentElement.scrollTop;
}
else if (typeof document.body != 'undefined') {
   scrollPos = document.body.scrollTop;
}
alert(scrollPos);

一切OK.

3、关于loose.dtd和xhtml1-transitional.dtd等文档类型定义模型中CSS失效的解决办法。

最近,很多人反映 下面的CSS定义在 loose.dtd和xhtml1-transitional.dtd下无效了:

body{
SCROLLBAR-FACE-COLOR: #f2f2f2;
SCROLLBAR-HIGHLIGHT-COLOR: #ffffff;
SCROLLBAR-SHADOW-COLOR: #999999;
SCROLLBAR-3DLIGHT-COLOR: #999999;
SCROLLBAR-ARROW-COLOR: #999999;
SCROLLBAR-TRACK-COLOR: #ff0000;
SCROLLBAR-DARKSHADOW-COLOR: #ffffff;

overflow-y:hidden
}

解决办法就是

html,body{
SCROLLBAR-FACE-COLOR: #f2f2f2;
SCROLLBAR-HIGHLIGHT-COLOR: #ffffff;
SCROLLBAR-SHADOW-COLOR: #999999;
SCROLLBAR-3DLIGHT-COLOR: #999999;
SCROLLBAR-ARROW-COLOR: #999999;
SCROLLBAR-TRACK-COLOR: #ff0000;
SCROLLBAR-DARKSHADOW-COLOR: #ffffff;

overflow-y:hidden
}

新的文档类型定义模型使用html 元素作为容器。

类似的还有

document.body.scrollHeight等结果为0

需要使用新的办法:

var eleHeight
if(document.documentElement)
eleHeight = document.documentElement.scrollHeight
else
eleHeight = document.body.scrollHeight

新的文档类型定义模型带来的问题--javascirpt/CSS相关推荐

  1. DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义

    DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义 今天看到一篇CSS应用的一个友好搜索,我按网页上的代码复制.粘贴后预览时总达不到效果,而直接拷贝他的实例却能达到效果, ...

  2. XML之文档类型定义和合法性(转)

    来至:liang--liang博客:http://www.cnblogs.com/liang--liang/archive/2008/01/15/1039277.html 好牛 XML被作为一种元标记 ...

  3. XML——文档类型定义(DTD-Document Type Definition)

    [0]README 0.1)本文文字描述转自 core java volume 2 , 旨在理解 XML--文档类型定义(DTD-Document Type Definition) 的基础知识: 0. ...

  4. 文档类型定义和合法性(2)

    8.5.3 子元素列表 由于SEASON元素被声明为可以接受任何元素作为子元素,因而可以接受各种各样的元素.当遇到那些多多少少有些非结构化的文本,如杂志文章时,这种情况就很有用.这时段落.副栏.项目列 ...

  5. DTD(文档类型定义)概述

    DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块.DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用. DTD 简介 文档类型定义(DTD)可定义合法的XML文档构建模块.它 ...

  6. 前端:HTML5/36/HTML5简介,文档类型定义,网页字符集,页面结构标记,文章相关的标记,其它标记,音频标记,视频标记,表单中新增的属性,表单input元素type属性的值

    HTML5简介 HTML5是新一代的HTML: HTML5目前主要应用在手机端,在PC端最新浏览器已经开始支持了,但还不全面: HTML5是由W3C和WHATWG合作的结果: W3C是万维网联盟,主要 ...

  7. 文档声明Doctype和Doctype html区别 文档类型定义(DTD)

    文档类型定义(DTD)可定义合法的XML文档构建模块.它使用一系列合法的元素来定义文档的结构. DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用. 文档声明的作用: 文档声明是为了告诉浏 ...

  8. XML文档类型定义DTD

    DTD概述 DTD用来定义XML文档的结构,它包含一系列规则说明,以确保XML文档的一致性和有效性 DTD定义了XML文档可用的词汇(元素和属性的名称)和结构: 元素名称,包括根元素 元素的属性及属性 ...

  9. XML--- XML文档类型定义(DTD)

    **定义:**DTD定义了文档的逻辑结构,规定了文档中所使用的元素.实体.元素的属性.元素与实体之间的关系.其作用主要表现在以下几个方面. (1) 使用DTD可以提供一种统一的格式.XML的可扩展性为 ...

  10. J2EE之dtd(文档类型定义)

    一:良好xml的格式 1:xml的作用 1.1 数据交互(两种方式) 第一种:{name:xxx,sex:'男',age:18},{name:xxx,sex:'男',age:18},{name:xxx ...

最新文章

  1. 消息发送到topic多个MessageQueue
  2. vue v-for 不能自能渲染问题
  3. A Hard Problem
  4. 安装linux的准备
  5. JMeter性能测试工具简介
  6. js实现搜索框智能提示上下移动效果
  7. 【一天一个C++小知识】013.std:map-不存在的key查找其value
  8. PHP安装OPENSSL扩展模块
  9. GO -- 一个经验
  10. QGIS教程02---QGIS加载数据的4种方法
  11. 数字电路基础知识(一)
  12. 无主之地1代人物和故事背景…
  13. CAD2010安装→注册
  14. apns java 证书_GitHub - linyu19872008/apns-http2-java: 苹果推送apns的http2解决方案
  15. mongodb默认的用户名密码_MongoDB 用户名密码登录
  16. android拼图游戏制作,[Android]自己动手做个拼图游戏
  17. 头条号:增加粉丝量 只需用四招!
  18. clear:both 的作用
  19. ixia测试工具的全称_IXIA网络测试仪使用说明
  20. 【待细看】关于GDAL的VRT格式

热门文章

  1. 【语音编码】基于matlab PCM编解码【含Matlab源码 555期】
  2. 【优化选址】基于matlab穷举法求解小区基站选址优化问题【含Matlab源码 439期】
  3. 社会达尔文主义 盛行时间_新达尔文主义的心理理论
  4. mysql数据库数据表的指令_mysql数据库和表操作命令
  5. mysql 三种循环的区别_mysql存储过程中的三种循环
  6. 感受野,以及为什么神经网络可以分清猫是猫,狗是狗的直观理解
  7. 鸿蒙app安卓版包,支付宝鸿蒙版本下载-支付宝鸿蒙app最新版 v10.2.8.7000-优盘手机站...
  8. 服务器为啥要搭建在2012系统,Windows Server2012R2怎么配置为DNS服务器
  9. gitlab mr wip 怎么弄成_Gitlab基本管理(二)
  10. java版本号分段比较_java比较版本号大小