TypeError:导航到另一个页面时无法读取 null 的属性“offsetParent”
2018-08-08
5039
我使用代码在滚动时将 div 粘贴到顶部,并且 div 到达了顶部。
代码工作正常,但是导航到另一个页面时出现错误。
TypeError: Cannot read property 'offsetParent' of null
我的代码
render() {
var startProductBarPos = -1;
window.onscroll = function () {
var bar = document.getElementById('nav');
if (startProductBarPos < 0) startProductBarPos = findPosY(bar);
if (window.pageYOffset > startProductBarPos) {
bar.style.position = 'fixed';
bar.style.width = '58.6%'
bar.style.top = 0;
} else {
bar.style.position = 'relative';
bar.style.width = '100%'
}
};
function findPosY(obj) {
var curtop = 0;
if (typeof (obj.offsetParent) != 'undefined' && obj.offsetParent) {
while (obj.offsetParent) {
curtop += obj.offsetTop;
obj = obj.offsetParent;
}
curtop += obj.offsetTop;
} else if (obj.y)
curtop += obj.y;
return curtop;
};
return(
<div className="trait_type_header" id="nav">
</div>
);
}
此行显示错误的位置。
if (typeof (obj.offsetParent) != 'undefined' && obj.offsetParent) {
我认为导航到另一个页面时
obj
变为空。如果是这种情况,我该如何修复?
1个回答
尝试将
if (typeof (obj.offsetParent) != 'undefined' && obj.offsetParent)
更改为
if (obj && obj.offsetParent)
Sasha Kos
2018-08-08