2016-01-23 4 views
0

Я только что разработал веб-сайт с прокруткой, используя jQuery. Когда я нажимаю на элемент меню, он должен прокручиваться вниз и отображать раздел. Когда я нажимаю на конкретное меню, он прокручивается вниз. Но в URL-адресе я получаю www.example.com/#menuitem_name. Конкретный раздел неактивен.Невозможно прочитать свойство «сверху» неопределенного в jQuery

Это мой JQuery файл:

$('body').scrollspy({ 
    target: '.navbar-fixed-top', 
    offset: 80 
}) 

$('a.page-scroll').bind('click', function(event) { 
    var link = $(this); 
    $('html, body').stop().animate({ 
     scrollTop: $(link.attr('href')).offset().top - 70 
    }, 500); 
    event.preventDefault(); 
}); 

}); 

HTML

<section id="beta1.0" class="container">Hi</section> 
<li><a class="page-scroll" href="#beta1.0">Beta1.0</a> hi</li> 

ответ

1

Ваш селектор выглядит следующим образом: #beta1.0

Это означает, что «Элемент с идентификаторомbeta и класс0 "(или я бы f вы можете получить 0 сразу после . в селекторе).

Вам необходимо избегать ..

link.attr('href').replace(".", "\\.", "g") 
0

Я согласен с ответом @Quentin.

Это вызывает проблему из-за бета1.0
Если вы просто удалите 0,0 или просто точку. он отлично работает.

Find jsfiddle demo

$(function(){ 
/* 
$('body').scrollspy({ 
    target: '.navbar-fixed-top', 
    offset: 80 
}); 
*/ 

$('a.page-scroll').bind('click', function(event) { 
    var link = $(this); 
    $('html, body').stop().animate({ 
     scrollTop: $(link.attr('href')).offset().top - 70 
    }, 500); 
    event.preventDefault(); 
}); 

}); 
+0

Да .. Thats правильный .. Его работы хорошо сейчас ... – LAKSHMI

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