我在我的网站的console.log中收到错误
<!-- Navigation buttons -->
<div class="collapse navbar-collapse navbar-right">
<ul class="nav navbar-nav">
<li class="scroll active"><a href="#home">Home</a></li>
<li class="scroll"><a href="#services">Solutions</a></li>
<li class="scroll"><a href="#features">Featured</a></li>
<li class="scroll"><a href="#customers">Customers</a></li>
<li class="scroll"><a href="#partners">Partners</a></li>
<li class="scroll"><a href="#about">About</a></li>
<li class="scroll"><a href="#meet-team">Team</a></li>
<li class="scroll"><a href="#blog">Blog</a></li>
<li class="scroll"><a href="#get-in-touch">Contact</a></li>
</ul>
</div>
如果有人可以查看我已经获得的代码并帮我找到问题。
当前代码:
HTML(导航栏)
// Navigation Scroll
$(window).scroll(function(event)
{
Scroll();
});
$('.navbar-collapse ul li a').on('click', function()
{
$('html, body').animate(
{
scrollTop: $(this.hash).offset().top - 5
}, 1000);
return false;
});
// User define function
function Scroll()
{
var contentTop = [];
var contentBottom = [];
var winTop = $(window).scrollTop();
var rangeTop = 200;
var rangeBottom = 500;
$('.navbar-collapse').find('.scroll a').each(function()
{
contentTop.push($($(this).attr('href')).offset().top);
contentBottom.push($($(this).attr('href')).offset().top + $($(this).attr('href')).height());
})
$.each(contentTop, function(i)
{
if (winTop > contentTop[i] - rangeTop)
{
$('.navbar-collapse li.scroll').removeClass('active').eq(i).addClass('active');
}
})
};
JavaScript和JQuery
{{1}}
答案 0 :(得分:2)
当您将this.hash
作为选择器传递时,其含义为
$( '#about' );
这是一个id选择器。但是你没有id="about"
的元素,所以没有选择任何元素。
两种可能的解决方案:或者您在所有需要的元素上提供set id,或者使用属性选择器:
$('[href="' + this.hash + '"]')