TypeError:undefined不是对象(评估' $(' .entry-content')。offset()。top')

时间:2017-07-01 09:17:26

标签: javascript jquery

我有以下错误:

  

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 帮助解决问题

2 个答案:

答案 0 :(得分:0)

如果您能获得有关您正在尝试做什么的更多信息,那会更好。

但是根据提供的内容,$('。class')返回该类的元素数组。而错误可能意味着没有这样的对象。

另外,正确的方法是通过ID获取元素,或者从当前try中获取的数组中过滤元素。

答案 1 :(得分:0)

考虑使用Element.getBoundingClientRect().top,因为某些元素没有定义offset.top。例如。 SVGs

More Info

  

视口区域的滚动量(或   在计算时考虑任何其他可滚动元素   边界矩形。这意味着矩形的边界边缘   (上,左,下,右)每次改变它们的值   滚动位置更改(因为它们的值相对于   视口而不是绝对的。)