我有以下错误:
TypeError:undefined不是对象
(evaluating '$('.entry-content').offset().top')
我有下一个代码:
jQuery(document).ready(function($) {
console.log("Start");
(function($) {
"use strict";
var dh;
var faded = false;
dh = $('.entry-content').offset().top;
if ($(window).width() > 1000 && $('body').hasClass('single'))
$(window).scroll(function() {
var offset = $(window).scrollTop();
if (offset > 270 && faded != true) {
setTimeout(function() {
$('.adslot_1 center').fadeOut(400, function() {
$('.adslot_1 center').css({
'position': 'static'
}).fadeIn();
});
}, 300)
faded = true;
return;
}
})
enter image description here 帮助解决问题
答案 0 :(得分:0)
如果您能获得有关您正在尝试做什么的更多信息,那会更好。
但是根据提供的内容,$('。class')返回该类的元素数组。而错误可能意味着没有这样的对象。
另外,正确的方法是通过ID获取元素,或者从当前try中获取的数组中过滤元素。
答案 1 :(得分:0)
考虑使用Element.getBoundingClientRect().top
,因为某些元素没有定义offset.top
。例如。 SVGs
加
视口区域的滚动量(或 在计算时考虑任何其他可滚动元素 边界矩形。这意味着矩形的边界边缘 (上,左,下,右)每次改变它们的值 滚动位置更改(因为它们的值相对于 视口而不是绝对的。)