2014-01-26 2 views
-4

Как изменить сценарий ниже, чтобы он не выдавал ошибку, когда элемент «.fixit» отсутствует в DOM?jQuery проверить, существует ли элемент

function fixedHeaders() { 
     var el = jQuery('.fixit'), 
      offset = el.offset(), 
      elHeight = el.height(), 
      scrollTop = jQuery(window).scrollTop() 
      if (((offset.top + 400) < scrollTop - el.height())) { 
       el.addClass('fixedElement'); 
      } 

     if (scrollTop === 0) { 
      el.removeClass('fixedElement'); 
     } 
} 
jQuery(function() { 
    jQuery(window) 
     .scroll(fixedHeaders) 
     .trigger("scroll"); 
}); 
+0

Серьезно, это было трудно найти ответ при поиске? –

ответ

1

Старт с

if (!jQuery('.fixit').length) return; 
0
if ($('.fixit').length) { 

    var el = jQuery('.fixit'), 
      offset = el.offset(), 
      elHeight = el.height(), 
      scrollTop = jQuery(window).scrollTop() 
      if (((offset.top + 400) < scrollTop - el.height())) { 
       el.addClass('fixedElement'); 
      } 

     if (scrollTop === 0) { 
      el.removeClass('fixedElement'); 
     } 

} 
Смежные вопросы