Javascript 带有offset()jquery函数的跨浏览器问题
jQuery中的Javascript 带有offset()jquery函数的跨浏览器问题,javascript,jquery,internet-explorer-7,cross-browser,offset,Javascript,Jquery,Internet Explorer 7,Cross Browser,Offset,jQuery中的offset()函数存在跨浏览器问题。例如,我正在查找定位标记的偏移量 例如,$('#anchorid').offset().top 在Firefox 3.6=205中 在IE8=204中 在IE7=553中 正如您所看到的,每个返回值都有差异。我不太关心FF和IE8之间的区别,但我支持IE7和其他 我是否可以使用另一个相同或类似的跨浏览器功能,或者对此进行修复?您的标记可能有问题(非跨浏览器)。但作为替代,您可以尝试使用本机javascript document.getEl
offset()
函数存在跨浏览器问题。例如,我正在查找定位标记的偏移量
例如,$('#anchorid').offset().top
- 在Firefox 3.6=205中
- 在IE8=204中
- 在IE7=553中
我是否可以使用另一个相同或类似的跨浏览器功能,或者对此进行修复?您的标记可能有问题(非跨浏览器)。但作为替代,您可以尝试使用本机javascript
document.getElementById('anchorid').offsetTop
当然,如果您想获得整个页面的偏移量,可以使用如下函数:
function findTotalOffset(obj) {
var ol = ot = 0;
if (obj.offsetParent) {
do {
ol += obj.offsetLeft;
ot += obj.offsetTop;
}while (obj = obj.offsetParent);
}
return {left : ol, top : ot};
}
在IE8中,当我的脚本加载到我们想要获取的
offset().top
元素不存在的页面时,我遇到了这个问题
我是这样解决的:
if ($('#element').length){
$('#element').offset().top // ...
}
如果元素不存在,请不要执行
offset()。top
。是否有示例页面?那太离谱了。