#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;
Комментариев нет:
Отправить комментарий