关于JQ offset()top 获取位置不准确的解决方法

JavaScript016

关于JQ offset()top 获取位置不准确的解决方法,第1张

应用场景:网站响应式开发

问题重现:刷新获取距离顶部偏移位置不准确,偶尔有准确。

问题解决思路:刚开始以为是绝对定位的问题,脱离文档流,所以位置获取不到,后来发现是渲染问题,图片没加载完成的时候不占位置,所以位置获取不到

问题解决:使用load,当页面加载完成后,再获取位置,使用document(ready)并不能保证页面全部渲染完毕

后来发现使用load的时候报错,原因是因为最高版本的JQ没有load方法,最后解决方案是使用on监听

遇到了同样的问题,腾讯地图的js地址解析只是解析到了门牌号,就忽略了后面的详细地址,可能出现极大偏差,中国很多地方的街道门牌号只是代表一块区域,并非特指某一个具体的大厦地址,已经提交工单到腾讯地图还没处理,这个问题得不到处理,估计很多使用到该功能的开发者会去寻找其他替代品了。使用百度地图的解析倒不会出现此问题,后期可能会转移到百度地图。

jQuery CSS 操作

jQuery 拥有三种用于 CSS 操作的重要函数:

$(selector).css(name,value)

$(selector).css({properties})

$(selector).css(name)

函数 css(name,value) 为所有匹配元素的给定 CSS 属性设置值:

实例

$(selector).css(name,value)

$("p").css("background-color","red")

函数 css({properties}) 同时为所有匹配元素的一系列 CSS 属性设置值:

实例

$(selector).css({properties})

$("p").css({"background-color":"red","font-size":"200%"})

函数 css(name) 返回指定的 CSS 属性的值:

实例

$(selector).css(name)

$(this).css("background-color")

jQuery中没有获得全部css的功能。你可以直接使用js的这个功能,混用js和jquery代码不会出现冲突的情况。