无法获取属性'偏移'的未定义引用或null引用
Unable to get property 'offset' of undefined or null reference
我为广告制作了"加载更多"功能
在Chrome和FireFox中没有问题,当我尝试在IE(版本10)中选择时,会显示以下JavaScript错误:"无法获取未定义或null引用的属性"offset"我想我调用了object以外类型的对象的方法或属性,或者在需要object时传递了object以外的类型的参数。所以我尝试了以下代码,但没有帮助:
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};
}
任何帮助都将不胜感激:-)
import $ from "jquery"
class LazyLoadAds {
constructor() {
this.initLazyLoad = this.initLazyLoad.bind(this)
this.initLazyLoad()
}
initLazyLoad() {
let self = this,
listener = self.throttle(300, function () {
slotsAtlantic.forEach(function (item) {
let $item = $('#' + item.id)
if ($item.length) {
let $parent = $item.parent(),
index = slotsAtlantic.indexOf(item)
if ($parent.is(':visible') && ((window.scrollY || window.pageYOffset) >= ($parent.offset().top - $(window).height() - 300))) {
googletag.cmd.push(function () {
googletag.pubads().refresh([item.slot]);
});
slotsAtlantic.splice(index, 1);
}
}
});
});
window.addEventListener('scroll', listener)
}
throttle(delay, callback) {
var previousCall = new Date().getTime();
return function () {
var time = new Date().getTime();
if ((time - previousCall) >= delay) {
previousCall = time;
callback.apply(null, arguments);
}
};
}
}
export default LazyLoadAds
似乎得到了一个没有父元素的元素。
因此,当您编写:let $parent = $item.parent()
时,$parent为null。
当您想要获取$parent.offset()
时,会启动异常。
你有没有试着记录你得到的每一个元素?
相关文章:
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 无法获取属性'字符串'的未定义或null引用IE 11 ASP.NET
- SCRIPT5007:无法获取属性'长度'的未定义引用或null引用
- 无法获取属性'setActionableButtonState'的未定义引用或null引用
- Javascript:将类/对象引用设置为 NULL,内存中的子对象/类会发生什么
- 为什么引用 = null 不会影响引用的对象
- 使用clearInterval方法实现的是将区间变量引用设置为null,而不是
- 无法获取属性'偏移'的未定义引用或null引用
- 0x800a138f-JavaScript运行时错误:无法获取属性'fn'的未定义引用或null引用
- 尝试使用会话存储;无法设置属性'登录'的未定义引用或null引用
- 我一直收到未捕获的引用错误:未定义下拉菜单和未捕获的类型错误:无法读取 null 的属性“样式”
- 哪种方法代表了 JavaScript 中空对象引用的最佳实践,null 或未定义
- JavaScript运行时错误无法获取属性'值'的未定义引用或null引用
- 无法获取属性'1'的未定义引用或null引用
- IE9无法获取属性'删除'的未定义引用或null引用
- IE11无法获取属性'值'的未定义引用或null引用
- 如何在没有null引用异常的情况下轻松获得Javascript中嵌套字段的值
- SignalR-无法获取属性'客户端'的未定义引用或null引用
- JavaScript null引用错误
- 无法获取属性'可见性'的未定义引用或null引用