谁看过zepto的源代码,有几个问题看不明白?

谁看过***zepto***的源代码?
zepto的position这个函数,为啥不直接用Javascript本身支持的offsetTop和offsetLeft属性取值?
offset函数,为啥要用getBoundingClientRect来取值,而不用getComputedCss或者Javascript本身支持的offsetWidth和offsetHeight来取值?

2个回答

它进行了封装,因为js的方法不是对所有浏览器都适用的,所以可能为了适配,他需要提供一个统一的对外接口

zzzcsd
zzzcsd 没看过源代码不要灌水,getBoundingClientRect是新的API,都采用了,难道这个就适用所有浏览器吗
4 年多之前 回复

zepto主要移动端用,getBoundingClientRect这个api直接可以返回包含top,left,right,bottom属性的对象,简单多了,而且兼容性也不错,大部分浏览器都支持,offsetLeft,offsetTop还需要遍历offsetParent来进行叠加,offsetWidth,offsetHeight应该是出于统一考虑,没有单独使用这个2个属性

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐