在IE、FF、Chrome下scrollTop(或scrollLeft)的区别

本文探讨了在不同浏览器中使用scrollLeft属性时遇到的问题,特别是在Google Chrome浏览器中,当页面包含DTD标识时,如何正确地获取或设置滚动条位置。提供了一种简单的方法来适应Chrome和其他浏览器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

在JavaScript中我们可以用document.body.scrollLeft设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离,如果你的页面使用了DTD标识,也就是html源代码中有:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

这样的代码的话则应该使用document.documentElement.scrollLeft,在IE和FireFox都是没有问题。

但是我测试Google的Chrome则发现在有DTD标识的页面中document.documentElement.scrollLeft一直为0,反到用document.body.scrollLeft可以获取正确的值.

 

 

所以……别纠结了,做个判断如果是Chrome下就乖乖的用body吧。

 

 

附注:

 

scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离

 

scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离  clientWidth:设置或获取网页可见区域宽  clientHeight:设置或获取网页可见区域高

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值