У меня есть приложение Rails. Существует мнение, содержащее:JQuery offset возвращает undefined
<nav class="navigation" id="navigation">
<ul>
<li><a href="#info">Info</a></li>
<li><a href="#address">Address</a></li>
<li><a href="#menu">Menu</a></li>
<li><a href="#">Website</a></li>
</ul>
</nav>
custom.js файл в моем приложении/активах/JavaScript папки, содержащий:
var mediaTop = $('div#navigation').offset();
var media = $('div#navigation');
console.log(mediaTop);
$(document).scroll(function() {
var scrollTop = $(document).scrollTop();
//fix/unfix as necessary
if (mediaTop < scrollTop) {
$(media).addClass('fixed');
}
else {
$(media).removeClass('fixed');
}
});
Консоль линии распечатка не определена, однако. Код jQuery должен блокировать навигационную панель в верхней части страницы, когда я прокручиваю вниз, а верхний край попадает в верхнюю часть страницы.
Я думаю, что готовый ответ. Как я могу использовать его в отдельном файле jQuery? – delisdeli
@delisdeli: Обычно нет необходимости использовать 'ready', если вы не контролируете местоположение вашего тега' script' (например, записываете плагины или библиотеки). Просто поместите тег 'script' в самую нижнюю часть страницы, непосредственно перед закрывающим элементом'