2016-02-07 3 views
0

Я хочу изменить имя моего класса. Моя страница прокручивает 400 из верхней части div-animate, но я получаю эту ошибку.Uncaught TypeError: Невозможно прочитать свойство 'top' неопределенной ошибки

смотрите эту ссылку на мой код

https://jsbin.com/zafove/edit?html,js,output

Uncaught TypeError: Cannot read property 'top' of undefined error

if(wScroll > $('.feature-animate').offset().top - 400){ 
      $('.feature-animate').each(function(j){ 
       setTimeout(function(){ 
       $('.feature-animate').eq(j).addClass('isShowing'); 
       },100 * (i+1)); 
+1

перед этой строкой вы можете напечатать 'console.log ($ ('. Feature-animate'))' в вашем коде и сообщить мне, что он печатает? – gurvinder372

+0

Uncaught SyntaxError: Неожиданный токен ILLEGAL –

+0

- этот код вызывается после события document.ready? Ваш DOM уже загружен до вызова этого кода? – gurvinder372

ответ

0

сообщение об ошибке указывает на то, что JQuery не находит свой HTML узел с классом .feature-animate. Первая и наиболее вероятная причина. У вас есть опечатка в вашем html-коде. Убедитесь, что это выглядит так:

<div class="feature-animate">...your other html code </div> 

Тогда это должно сработать.

Кстати: если у вас несколько контейнеров-контейнеров с тем же именем класса, то $('.feature-animate').offset().top получит значение top первого элемента с этим классом в DOM.

+0

Я набрал имя класса правильно. –

+0

https://jsbin.com/zafove/edit?html,js,output –

0

Убедитесь, что элемент с классом feature-animate был инициализирован до javascript запущен. Отличный способ сделать это - положить его в тег $(document).ready().

0

jQuery не может найти элемент «feature-animate», потому что в html его написано в соответствии со следующим.

<div classs="row feature-animate"> 

(обратите внимание на 3 's' в 'classs')

Это должно быть согласно следующим:

<div class="row feature-animate"> 

(удалить дополнительный 's' и сделать его 'класс')

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