`
jsx112
  • 浏览: 315331 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

DOCTYPE html PUBLIC 让部分js代码失效的解决方案

阅读更多
在javascript里面调用一些属性的名称发生了改变 我说怎么得不到document.body.scrollTop的值 
以后js脚本取document值时候有问题估计就是这里弄出来的~~ 

很明显 使用了DOCTYPE html PUBLIC脚本之后document.body.scrollTop必须用document.documentElement.scrollTop来调用~document.documentElement.scrollLeft也是~ 
诸如此类都要改 

在定义了DOCTYPE之后,使用document.documentElement.scrollLeft代替document.body.scrollLeft。同理使用document.documentElement.scrollTop代替document.body.scrollTop。 

这样在有DOCTYPE的时候,图层也可以滚动了。 

但是,在没有DOCTYPE的时候document.documentElement.scrollLeft也永远为零了,那么,能否有一个在有没有DOCTYPE定义都可以用的方案涅?嘿嘿。 

那就可以这样写:



function scrollTop() //浏览器滚动条位置 

var scrollTop; 
if (document.documentElement && document.documentElement.scrollTop){ 
scrollTop = document.documentElement.scrollTop; 
}else if (document.body){ 
scrollTop = document.body.scrollTop; 
}else if (window.pageYOffset){ 
scrollTop = window.pageYOffset; 

return scrollTop; 


------------------------------------------------------------------------------------

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>定义了 HTML's DOCTYPE 的 Event 事件</title>
<script language="JavaScript" type="text/javascript">
function getvalue(e){
  if (!document.all){
  winW = window.innerWidth;
  winH = window.innerHeight;
  curX = e.pageX - window.pageXOffset;
  curY = e.pageY - window.pageYOffset;
  mouX = e.pageX;
  mouY = e.pageY;
  broX = window.pageXOffset;
  broY = window.pageYOffset;
  }else{
  winW = document.documentElement.clientWidth;
  winH = document.documentElement.clientHeight;
  curX = event.clientX;
  curY = event.clientY;
  mouX = event.clientX + document.documentElement.scrollLeft;
  mouY = event.clientY + document.documentElement.scrollTop;
  broX = document.documentElement.scrollLeft;
  broY = document.documentElement.scrollTop;
  }
  alert(" 窗口可见宽度(winW): "+winW+"\n\n 窗口可见高度(winH): "+winH+"\n\n 距窗口左边距离(curX): "+curX+"\n\n 距窗口顶部距离(curY): "+curY+"\n\n 距页面左边距离(mouX): "+mouX+"\n\n 距页面顶部距离(mouY): "+mouY+"\n\n 页面滚动的宽度(broX): "+broX+"\n\n 页面滚动的高度(broY): "+broY);
  return true;
}
document.onclick=getvalue;
</script>
</head>

<body>
<img src="" width="400" height="500" alt="" />
</body>
</html>
分享到:
评论

相关推荐

    DOCTYPE html PUBLIC.doc

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;` 这行代码定义了文档类型为XHTML 1.0 Transitional,这是一种过渡性的HTML版本,允许...

    HTML 元素与合法的 Doctype.docx

    HTML(HyperText Markup Language)是用于创建网页的标准标记语言,DOCTYPE是HTML文档中的一个重要部分,它定义了文档遵循的HTML或XHTML规范的版本。DOCTYPE声明位于HTML文档的顶部,通常在`&lt;html&gt;`标签之前,告诉...

    html标题_DOCTYPE的含义

    **DOCTYPE声明**是HTML或XHTML文档中的一个重要组成部分,它位于文档的第一行,用来告诉浏览器文档应遵循哪个版本的HTML或XHTML规范。这个声明对于确保网页在不同浏览器上的一致性和正确渲染至关重要。 DOCTYPE声明...

    网页 DOCTYPE html标签的作用1

    DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;` - HTML4.01 Transitional:`&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ...

    HTML !DOCTYPE 标签.docx

    DOCTYPE&gt;`标签是HTML文档中必不可少的一部分,它定义了文档所遵循的规范,影响浏览器的解析方式,从而确保代码的标准化和兼容性。选择合适的DTD类型可以更好地控制文档的结构和样式,同时提高对不同浏览器的兼容性。

    HTML !DOCTYPE 标签 声明HTML版本

    DOCTYPE&gt;标签的定义和用法。 准确的说,&lt;!DOCTYPE&gt;并不是HTML标签,它声明web浏览器关于页面使用哪个 HTML 版本进行编写的指令。 在 HTML 4.01 中,&lt;!DOCTYPE&gt; 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了...

    DOCTYPE文档类型声明

    DOCTYPE文档类型声明是HTML或XHTML文档中的一个重要组成部分,它位于文档的最顶部,用于告知浏览器文档遵循的规范和标准。DOCTYPE声明不是HTML或XHTML的一部分,而是引用了一个外部的文档类型定义(DTD),这个DTD...

    javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码

    本文实例讲述了javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果。分享给大家供大家参考。具体如下: ...DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/

    日期控件-帶時間的喲

    在asp.net 中有时会调用不到,每次调用的時候,页面会往后跑一页,解决办法: 把如下代码去掉就OK! " &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

    为什么使用DOCTYPE HTML

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; ``` 然而,随着HTML5的出现,DOCTYPE的写法变得更加简洁,如下: ```html &lt;!DOCTYPE...

    跨年烟花代码-烟花.html

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; ;"&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

    javascript代码应当放在html代码哪个位置比较好_.docx

    在严格的XHTML中,`&lt;script&gt;`标签必须包含在CDATA部分内,否则XHTML解析器可能会将`&lt;script&gt;`标签误认为是XML标签的一部分,导致JavaScript代码无法正确执行。 **代码示例:** ```html &lt;!DOCTYPE html PUBLIC "-//...

    js控制分页打印、打印分页示例

    DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”&gt; &lt;HTML&gt; &lt;HEAD&gt; &lt;TITLE&gt;javascript打印-打印页面设置-打印预览代码&lt;/TITLE&gt; &...

    DOCTYPE HTML.html

    DOCTYPE HTML.html

    DOCTYPE HTML PU.docx

    - 代码中的JavaScript部分似乎是一个简单的粒子系统,它会创建一定数量的粒子,并根据预设的参数(如速度、大小和持续时间)让它们在画布上移动。 - 粒子系统的实现通常涉及到计算每个粒子的新位置,然后在`canvas...

    HTML和XHTML的联系与区别,文档类型<!DOCTYPE>

    HTML(HyperText Markup Language)和XHTML(Extensible HyperText Markup Language)是两种广泛用于创建网页的标准标记...DOCTYPE&gt;`的作用,有助于开发者编写更规范、更兼容的网页代码,从而提高网页质量和用户体验。

    html5.js文件,在head部分引用该文件,使各种浏览器支持html5

    HTML5.js 文件是一种JavaScript库,...总的来说,HTML5.js是开发者解决浏览器兼容性问题的一种工具,它通过JavaScript代码来弥补旧浏览器对HTML5新特性的不足,使得更多的用户能够在任何浏览器上享受更丰富的Web体验。

    JavaScript 小游戏代码汇总

    JavaScript 小游戏代码汇总 JavaScript 是一种广泛使用的脚本语言,常用于开发 web 应用程序尤其是游戏开发。以下是 JavaScript 小游戏代码汇总的知识点: 1. HTML 基础:代码开头使用的 `&lt;!DOCTYPE html&gt;` 声明...

    Node.js产品部小样public(页面引入js文件)和routes路由和html页面.rar

    在Node.js开发中,"public"目录通常用于存放前端资源,如CSS样式表、JavaScript文件(JS文件)和图片等,这些文件会被直接提供给浏览器访问。本项目中提到的"public(页面引入js文件)"可能包含了一系列JavaScript脚本...

    DOCTYPE 标签

    DOCTYPE标签在HTML和XHTML文档中扮演着至关重要的角色,它是文档类型定义(Document Type Definition)的简写,用于告诉浏览器文档遵循的HTML或XHTML规范。DOCTYPE声明位于文档的开头,即`&lt;html&gt;`标签之前,其主要...

Global site tag (gtag.js) - Google Analytics