繁体   English   中英

JavaScript运行时错误:无法获取未定义或空引用的属性“ top”

[英]JavaScript runtime error: Unable to get property 'top' of undefined or null reference

使用IE10 JavaScript runtime error: Unable to get property 'top' of undefined or null reference错误JavaScript runtime error: Unable to get property 'top' of undefined or null reference尝试单击指向同一项目内网页的超链接时, JavaScript runtime error: Unable to get property 'top' of undefined or null reference ,JavaScript应该滚动到页面上的相应位置。

如果我使用除IE之外的任何其他浏览器,则它可以逐页工作。 但是,如果我在同一页面中使用相同的引用,它将在所有浏览器中上下滚动,而在离开页面时不在IE中滚动。

链接

<li><a href="index.html#home_section">Home</a></li>

我正在使用3.0.0版的jquery.nav.js ,页面在var offset = $(target).offset().top;

任何帮助将非常感激 :-)

如果浏览器是IE,则对任何元素的Jquery offset()。top计算都存在一些问题。 要解决此问题,您可以使用本机Javascript来计算元素的上下偏移量,并相应地使用它。 此处-在Javascript方法下,该对象将返回文档中任何元素的计算出的顶部和左侧的对象,并且适用于所有浏览器:

function findElementTotalOffset(obj) {
    var oleft = otop = 0;
    if (obj.offsetParent) {
        do {
            oleft += obj.offsetLeft;
            otop += obj.offsetTop;
        } while (obj = obj.offsetParent);
    }
    return {left : oleft, top : otop};
}

示例:var offset = findTotalOffset($(target))。top;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM