#javascript
На сайте появляется ошибка: TypeError: undefined is not an object (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; } }) Класс .entry-content присутствует только на странице новости, на главной его нет. Видимо по этому и возникает ошибка. Данный скрипт открепляет прилепающую рекламу при скроле. Как можно устранить эти проблему, чтобы на главной странице не выдавалась это ошибка?
Ответы
Ответ 1
Причина ошибки в том, что если на странице нет элемента с классом .entry-content, то $('.entry-content').offset() будет undefined и получится dh = undefined.top; А undefined - это не объект и у него нет свойства top это и написано в теле ошибки. Поменяй dh = $('.entry-content').offset().top; На dh = $('.entry-content').offset() && $('.entry-content').offset().top;
Комментариев нет:
Отправить комментарий