Я пытаюсь перемещаться по странице, которую использую AngularJS, и создает страницы различий в формате html, как я упоминал ниже, поэтому, когда я нажимаю на ссылку, она дает мне:
"Uncaught TypeError: Невозможно прочитать свойство 'top' из неопределенного"
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right main-nav">
<li><a href="#services" data-target="#services">Services</a></li>
<li><a href="#team" data-target="#team">Team</a></li>
<li><a href="#pricing" data-target="#pricing">Pricing</a></li>
<li><a href="#" data-toggle="modal" data-target="#modal1" class="btn btn-blue">Sign Up</a></li>
</ul>
</div>
$('body').on('click', '.mobile-nav a', function(event) {
$('.mobile-nav').removeClass('active');
if(!this.hash) return;
event.preventDefault();
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
event.stopPropagation();
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
$('body').on('click', '.mobile-nav a.close-link', function(event) {
$('.mobile-nav').removeClass('active');
event.preventDefault();
});
$('body').on('click', 'nav.original .navbar-nav a:not([data-toggle])', function() {
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
event.stopPropagation();
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});