Я пытаюсь осуществить это на моем сайте, чтобы изменения нав стиля при прокрутке в соответствующие разделыSticky Nav - Не удается прочитать свойство «сверху» неопределенной»
http://stanhub.com/sticky-header-change-navigation-active-class-on-page-scroll-with-jquery/
Единственное отличие я. можно видеть в том, что я создаю СЧ, который становится липким после достижения верхней части страницы.
Когда я бросаю в
console.log(refElement.position())
Я получаю это
Object {top: 716.984375, left: 50.5}
Object {top: 1811.796875, left: 50.5}
Я получаю ошибку
"Uncaught TypeError: Cannot read property 'top' of undefined" on from function.
На этой линии:
if (refElement.position().top <= scrollPos && refElement.position().top + refElement.height() > scrollPos) {
Вот сценарий
$(document).ready(function() {
$(document).on("scroll", onScroll);
function onScroll(event){
var scrollPos = $(document).scrollTop();
$('.cn17w1.original a').each(function() {
var currLink = $(this);
var refElement = $(currLink.attr("href"));
if (refElement.position().top <= scrollPos && refElement.position().top + refElement.height() > scrollPos) {
$('.cn17w1.original ul li a').removeClass("active");
currLink.addClass("active");
}
else{
currLink.removeClass("active");
}
});
}
});
Но этот штекер ищет соответствующий текст в якорях. href = "# home" & id = "home" –
@SethTipton затем дважды проверьте свой HTML. 'refElement.position() === undefined' означает, что' refElement' пуст. – swornabsent