firefox、IE之部分属性用法区别

来源:互联网 发布:延时摄影后期制作软件 编辑:程序博客网 时间:2024/06/16 21:40

1.有关style的单位问题

在IE下设置obj.style.left时可以不需要加单位,但是发现在firefox上动态定位需要叫上"px"才有效果,即改成obj.style.left "px"

2.烦人的offsetParent和offsetLeft问题

  当某个元素的父元素进行了CSS定位时(absolute或者relative),则这个元素的offsetParent属性的取值为其父元素。更确切地说,这个元素的各种偏移量计算(offsetTop、offsetLeft等)的参照物为其父元素。

  当只有某个元素进行了CSS定位,其父元素及其DOM结构层次上都未进行CSS定位时,则这个元素的offsetParent属性的取值为HTMLBODYElement。更确切地说,这个元素的各种偏移量计算(offsetTop、offsetLeft等)的参照物为Body元素。

  所以在获取offetLeft的时候,作如下的判断

 if(obj.offsetParent.tagName.toLowerCase() != 'body')                        objLeft =obj.getBoundingClientRect().left;  else                        objLeft = obj.offsetLeft;
不过据说IE8,Opera 以及特殊情况的IE6IE7里面 

如果通过elemnt.offsetParent element.offsetLeftelement.offsetTop计算页面元素位置需要在每一次循环中减去borderLeftWidth和borderTopWidth的值

3.firefox中获取event

在网上看了很多例子大同小异,基本上都是采用传递一个参数来捕获的,但是今天测试了一下并不起作用,在百度文库上找到一篇文章发现这个方法确实有用,这里贴出来供大家共同学习   arguments.callee.caller.arguments[0].target






原创粉丝点击