西红柿爱番茄

Feed Rss

文章标签 ‘style’

检测外联js是否加载完毕,这个相对来说比较简单,只需要处理onload和onreadystatechange在非IE和IE下做兼容,但是需要检测外联的CSS文件是否加载完毕,这个就有点恶心了,大致分成了三类:IE和Opera;Chrome和Safari、FF,这时候FF没有跟着大部队走了,这或许也是FF中的一个bug。 最理想的方式,无非就是统一使用onload来检测link元素是否加载完毕。但是事不与程序猿人愿~ 但是兼容办法还是有的。 在IE、Opera下,可以直接使用onload、onreadystatechange这两种方式都可以检测link元素是否加载完成,跟检测script一样的原理。 在Chrome、Safari等基于Webkit内核的浏览器下,估计就要监控document.styleSheets.length的变化了。Webkit内核的浏览器在处理document.styleSheets.length的方式是这样的,当加载完了一个link之后,length就会加1,那么这样的话,就可以使用setInterval的方式来检测length的变化了,对于同时检测多个link是否加载完成的方式也可以利用这个,看length增加了多少。《测试用例》示例如下: [javascript] var link = document.createElement("link"); var cn = document.styleSheets.length; var ti = setInterval(function() { if … 了解更多

今天看到了口碑UED中Zhusun的一篇关于获取DOM元素在文档中的位置的文章,《获取Dom元素的X/Y坐标》,第一次知道了DOM元素还有一个getBoundingClientRect()方法可以使用来返回DOM元素的Top,Left,Right,Bottom。这个方法的具体用法和含义推荐看Zhusun的那篇文章。据他所说这个方法在某些浏览器还不兼容(FF2、Safari),所以本人从offsetParent这个方法出发,来获取DOM元素的X/Y坐标。 offsetParent有四个方法是比较常用的:offsetLeft,offsetTop,offsetWidth,offsetHeight。下面我来说明offsetLeft和offsetTop方法的含义。