2 zzzcsd zzzcsd 于 2016.02.15 14:12 提问

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

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

2个回答

bdmh
bdmh   Ds   Rxr 2016.02.15 14:18

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

zzzcsd
zzzcsd 没看过源代码不要灌水,getBoundingClientRect是新的API,都采用了,难道这个就适用所有浏览器吗
接近 2 年之前 回复
showbo
showbo   Ds   Rxr 2016.02.15 15:00

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!