2015-01-07 2 views
0

Я использую эту функцию, чтобы проверить, находится ли элемент в видовом экране.check offset(). Top in jquery

function topInViewport(element) { 
    return $(element).offset().top >= $(window).scrollTop() && $(element).offset().top<= $(window).scrollTop() + $(window).height(); 
} 

Однако один из идентификатора, который я использую называется «сверху» & так, когда я использую topInViewport ($ (сверху)), я получаю сообщение об ошибке в консоли не может прочитать свойство верхней части нуль. когда я использую любой другой идентификатор, он работает правильно. Хотя по какой-то причине я не могу изменить имя id. Есть ли обходной путь?

+0

Как вы проходите «сверху» в функцию? это как строка или префикс '#'? Вы проходите в самом объекте jQuery? Он может заплатить, чтобы добавить пример того, как вы вызываете 'topInViewport()' –

+0

Можете ли вы немного рассказать об этом. Он может быть подотчетен, но не находится в его нынешнем состоянии, так как для этого потребуются некоторые выводы. Можете ли вы показать небольшой фрагмент того, как вы используете topInViewport? –

+0

Я передаю его как это $ (вверху) – stry

ответ

0

Проблема в том, что top - это зарезервированное имя javascript и не должно использоваться как имя переменной. поэтому вместо того, чтобы пропустить top, используйте его как topInViewport($("#top")). Вы можете прочитать о зарезервированных именах javascript here.

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