关闭

ASP.NET页面中浮动广告JS注意事项

发表于:2009-10-21 10:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  具体详情:【以防页面打不开】

  做页面的时候可能会用到位置固定的层,读取 document.body.scrollTop 来设置层的位置,像这样:

  window.onscroll = function ()
  {
  var oFix = document.getElementById("divfix");
  oFix.style.top = document.body.scrollTop + "px";
  }

  可是怎么没有达到预期效果呢,输出 document.body.scrollTop 的值一看,一直都是 0。原来是 DTD 的问题,要是页面直接用 开头的话就没有问题了。但是要符合 web 标准,DTD 当然是不能少的。具有 DTD 时用 document.documentElement.scrollTop 代替 document.body.scrollTop 就可以了。

  window.onscroll = function ()
  {
  var oFix = document.getElementById("divfix");
  oFix.style.top = document.documentElement.scrollTop + "px";
  }

  编者注:

  页面具有 DTD(或者说指定了 DOCTYPE)时,使用 document.documentElement。

  页面不具有 DTD(或者说没有指定了 DOCTYPE)时,使用 document.body。

  在 IE 和 Firefox 中均是如此。

  为了兼容,可以使用如下代码: var scrollTop = window.pageYOffset

  || document.documentElement.scrollTop

  || document.body.scrollTop

  || 0;

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号