Возможно, на этот вопрос был дан ответ много раз, но я не могу найти ничего, что связано с моим кодом.Невозможно прочитать свойство «верх» неопределенного JQuery/javascript
Все работает нормально, когда открыто меню и т.д. smooth scrolling
работает, кроме случаев, когда я нажимаю arrow-down
, чтобы перейти в следующий раздел, гладкая прокрутка не работает. Я смотрел на него и пытался понять это на некоторое время, но я не могу этого сделать.
Я все еще изучаю jquery и javascript. Полную версию этого кода можно найти HERE. Откройте инструменты для разработчиков, и вы увидите ошибки в консоли.
EDIT добавлен ..
.arrow-down-wrapper a[href^="#"]
в
$('nav.mobile-nav a[href^="#"], .arrow-down-wrapper a[href^="#"]').on('click', function (e) {
...
}
Плавная прокрутка не работает для 'стрелка вниз', но я все еще получаю «неперехваченным TypeError: не могу прочитать свойство «верх» не определено »
console.log(target);
выводит правильное значение t argets. #Home, #about и т.д ..
Это код, у меня есть:
//smooth transition to sctions when links in header are clicked
function onScroll(event){
var scrollPosition = $(document).scrollTop();
$('nav.mobile-nav a').each(function() {
var currentLink = $(this);
var refElement = $(currentLink.attr("href"));
if (refElement.position().top <= scrollPosition && refElement.position().top + refElement.height() > scrollPosition) {
$('nav.mobile-nav a').removeClass("current");
currentLink.addClass("current");
}
else{
currentLink.removeClass("current");
}
});
}
$(document).ready(function() {
$(document).on("scroll", onScroll);
$('nav.mobile-nav a[href^="#"]').on('click', function (e) {
e.preventDefault();
$(document).off("scroll");
$('nav.mobile-nav a').each(function() {
$(this).removeClass('current');
});
$(this).addClass('current');
var target = this.hash;
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 1000, 'swing', function() {
window.location.hash = target;
$(document).on("scroll", onScroll);
});
});
});
Если элемент, на который вызывается 'position', не существует, тогда может возникнуть ошибка ... –
поэтому зарегистрируйте значение' currentLink.attr ("href") '- (' console.log (currentLink.attr ("href")) ') и' console.log (this.hash) 'перед вызовом' position', чтобы выяснить, какой элемент cau петь ошибку –
@ArunPJohny '(console.log (currentLink.attr (" href "))' выходы, все три тега, # #, #home, # porfolio'. и 'console.log (target)' выходы, каждый тег, на который я нажимаю. '#HOME, о ... etc' – Guille