《精通javascript》一书由jquery作者写成,其中不少对于js原生事件的处理正好是jquery使用的方法,为我看jquery源码提前做了一些准备。
第七章关于位置的处理方法,记录下来。以前一直是使用封装好的方法,很少去考虑兼容性,因为觉得这块兼容性实在是太差了。
1 样式的获取。普通样式:ele.style[name](name即为样式名称)。
     计算样式:ie:ele.currentStyle[name]
ff:document.defaultView.getComputedStyle(ele).getPropertyValue(name);//其中,它使用的是通用的text-align
   而不是textAlign,所以要进行处理:name = name.replace(/[A-Z]/g,'-$1').toLowerCase();
2 元素相对于整个文档位置。使用offsetLeft和offsetTop来计算,这里涉及到offsetParent,ff中其始终指向跟节点,opera中指向直接父亲。所以
做如下处理:
function getX(ele)
{
return  ele.offsetParent?ele.offsetLeft+getX(ele.offsetParent):ele.offsetLeft;
}
就是当其offsetParent不是根节点时,一直递归,最后把每一个offsetLeft加起来。
3 元素相对于父元素的位置。(好多人说用style.left就行了,那个值只是相对于css父级盒子的距离,这里需要直接父级元素的距离)
用上面的 getX(child) - getX(child.parentNode)即可。
4 设置位置,修改left和top的值是唯一的方法。
5 获取元素的大小:普通元素,用 1 里面获取样式的兼容方法获取 'height'和‘width’属性。对于display:none隐藏元素,先将其变为
 display:‘’;visbility:‘hidden’;然后用clientHeight实现。
6 透明度:ie:ele.style.filters = alpha(opacity='[1-100]');
 ff: ele.style.opacity = [0-1];
7 鼠标位置:ff : e.pageX 
   ie : window.event.clientX + document.body.scrollLeft
8 视口大小:document.body.clientHeight:不包含边框,只是记载内容高度 document.body.scrollHeight 也可以 
9 滚动条位置 self.pageXoffset||document.documentElement.scrollTop(ie)||document.body.scrollTop

《精通javascript》-----------------------读书笔记相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. ”Can't connect to MySQL server on localhost (10061)”
  2. SAP Fiori Launchpad里home按钮的实现原理分析
  3. Error: could not open `C:\Java\jre7\lib\i386\jvm.cfg
  4. 促销海报模板|经典蓝的带着「节日促销」来搞事情了!
  5. makefile指定头文件路径_玩转Makefile | 企业项目Makefile实例
  6. 【Java从0到架构师】分布式框架通信核心基础 - 序列化(JDK、Protobuf)、远程过程调用 RMI
  7. vbs中对excel的常用操作
  8. vs2017安装qt
  9. 瑞友天翼苹果手机(iPhone)客户端安装及使用
  10. Fedora 9 感受
  11. 电子测量-实战:电压放大器的设计与测试
  12. PyCharm小技巧分享—主菜单消失再显示
  13. 非线性最小二乘问题的分析与理解(附高斯牛顿法matlab代码)
  14. python获取北京时间
  15. 微信小程序登录流程 微信登录
  16. Oracle日期型函数详解
  17. 敬語使用方法 第三章 他社を訪問する・来客対応(3.7~3.12)
  18. java.lang.NoSuchMethodError: breeze.linalg.DenseVector$.canSetD()
  19. 摩申网络2017年6月27日游戏新闻
  20. 计算机组成原理(4.2)—— IA-32指令系统(CSIC)

热门文章

  1. fatal error: opencv2/opencv.hpp: 没有那个文件或目录
  2. 《思考,快与慢》读书笔记
  3. PIFA-平面倒F天线[搬运]
  4. 使用云存储解决方案,主要有哪些优势
  5. java里oop思想_(一)OOP思想详解
  6. 软件测试-微信红包测试点
  7. java PDF转jpg
  8. 电脑打印机print spooler服务总是自动停止的解决方法...
  9. (转)扰码Scrambling和扩频码(PN码)的区别
  10. 《数字图像处理第二版》第三章部分习题