文档章节

解决在Firefox(<21)下获取 scroll[Width|Height] 值不正确的bug

山哥
 山哥
发布于 2014/06/13 10:22
字数 166
阅读 519
收藏 3

在Firefox版本< 21中,js获取DOM对象的 scrollWidth 和 scrollHeight 的值不正确,都是等于 clientWidth 或 clientHeight。

https://bugzilla.mozilla.org/show_bug.cgi?id=833542

解决方法如下:

var ele = document.getElementById('xxx');
// 1. 先把需要获取DOM对象的overflow强制指定为hidden
ele.style.overflow = 'hidden'; 
// 2. 然后再获取对象的 scrollWidth 或 scrollHeight
var sw = ele.scrollWidth;
// 3. 最后恢复DOM对象的原始oveflow属性
ele.style.overflow = 'visible';

alert("clientWidth="+ ele.clientWidth + ", scrollWidth="+ sw);

jQuery写法:

var ele = $('xxxx');
var sw = ele.css('overflow', 'hidden')[0].scrollWidth;
ele.css('overflow', 'visible');

alert("clientWidth="+ ele[0].clientWidth + ", scrollWidth="+ sw);


© 著作权归作者所有

共有 人打赏支持
上一篇: Fullscreen API
山哥

山哥

粉丝 245
博文 351
码字总数 136465
作品 0
南京
程序员
私信 提问
div+css 你知道多少?值得一看

DIV+CSS是网站标准(或称“WEB标准”)中常用术语之一,div+css 是一种网页的布局方法,这一种网页布局方法有别于传统的HTML网页设计语言中的表格(table)定位方式,可实现网页页面内容与表...

晨曦之光
2012/03/09
0
0
CSS兼容IE/Firefox要点

首先我们说说firefox和IE对CSS的宽度显示有什么不同: 其实CSS ’width’ 指的是标准CSS中所指的width的宽度,在firefox中的宽度就是这个宽度。它只包含容器中内容的宽度。而Internet Explor...

黄平俊
2009/04/18
0
0
转载 div+css浏览器兼容实例二:css hack的理解

上周给大家转载了《Div+css浏览器兼容实例分析(一)》,今天继续给大家转载《div+css浏览器兼容实例二:css hack的理解》。 先来说一下什么是css hack ,写了这么久的div+css代码,我还真不...

oecp
2011/06/07
0
0
div+css 布局下兼容IE6 IE7 FF常见问题

div+css 布局下兼容IE6 IE7 FF常见问题 收藏 所有浏览器 通用 (市面上主要用到的IE6 IE7 FF) height: 100px; IE6 专用 _height: 100px; IE6 专用 *height: 100px; IE7 专用 *+height: 100p...

晨曦之光
2012/03/09
0
0
ie678,FF,chrome的css兼容性

参考:http://www.liuzp.com/css/15.html css的兼容性一般都是前端初学者面临的一个头疼的问题,难免写出来的css在各个浏览器下的效果均有不同,于是乎各种css hack写法出来了,其实在一个规...

messud4312
2014/12/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis 中$与#的区别,预防SQL注入

一直没注意Mybatis 中$与#的区别,当然也是更习惯使用#,没想到避免了SQL注入,但是由于要处理项目中安全渗透的问题,不可避免的又遇到了这个问题,特此记录一下。 首先是共同点: 在mybatis...

大雁南飞了
8分钟前
0
0
Cydia的基石:MobileSubstrate

在MAC与IOS平台上,动态库的后缀一般是dylid,而加载这些动态库的程序叫做dynamic linker(dyld)。这个程序有很多的环境变量来设置程序的一些行为,最为常用的一个环境变量叫做"DYLD_INSERT_...

HeroHY
10分钟前
0
0
Spring Clould负载均衡重要组件:Ribbon中重要类的用法

Ribbon是Spring Cloud Netflix全家桶中负责负载均衡的组件,它是一组类库的集合。通过Ribbon,程序员能在不涉及到具体实现细节的基础上“透明”地用到负载均衡,而不必在项目里过多地编写实现...

Ala6
20分钟前
0
0
让 linux 删除能够进入回收站

可以参考这个贴子 https://blog.csdn.net/F8qG7f9YD02Pe/article/details/79543316 从那个git地址 把saferm.sh下载下来 把saferm.sh复制到 /usr/bin 目录下 在用~/目下 的.bashrc 下加一句这...

shzwork
29分钟前
0
0
Qt那些事0.0.9

关于QThread,无F*k说的。文档说的差不多,更多的是看到很多人提到Qt开发者之一的“你TM的做错了(You're doing it wrong...)”,这位大哥2010年写的博客,下面评论很多,但主要还是集中在2...

Ev4n
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部