出于某种原因,我的页面'跳转',而不是第二次点击菜单中的内部链接后,平滑滚动。 我很确定这与scrolling.js文件有关,我是jQuery中的新手,可能会搞砸了一些东西。既然你已经评论说它工作得很好,让我来举个例子来解释它。我进入页面,我可以按菜单中的“关于”按钮,它滚动得很好,我可以按“了解我”按钮,它也可以正常工作,也可以在侧面菜单上的顶部箭头工作,但如果您滚动手动一点,然后尝试按菜单中的“关于”它不会滚动,但跳转,即使您滚动回顶部并按页面加载后它的工作方式相同。 the page itself。jquery跳转而不是滚动
scrolling.js
$(window).scroll(function(){
var height = $('section').height();
height = height * 0.2;
if ($(window).scrollTop() >= height) {
$('nav').css('background','rgba(0,0,0,0)');
$('nav').css('margin-left','0px');
$('.OTOCWEL').css('background','rgba(0,0,0,0)');
$('#powered').css('background','rgba(0,0,0,0)').addClass('fixerpowered');
$('.menu').addClass('menuslim');
$('.menu').removeClass('menu');
$('.menuslim').css('margin-left','0px').css('opacity','1');
$('#first').addClass('mega-octicon octicon-info').css('margin-left','0px');
$('#second').addClass('mega-octicon octicon-book');
$('#third').addClass('mega-octicon octicon-mail');
$('#fourth').addClass('mega-octicon octicon-diff-added');
$('.OTOCWEL').css('display','none');
$('.suwak').css('display','none');
$('.dzolero').css('display','block');
} else {
$('nav').css('background','rgba(0,0,0,0.5)');
$('.menuslim').addClass('menu');
$('.menu').removeClass('menuslim').css('top','0px');
$('#first').html("<a>About</a>").css('margin- left','15px').removeClass('mega-octicon octicon-info');
$('#first>a').attr('href','#about');
$('#second').html("<a>Projects</a>").removeClass('mega-octicon octicon-book');
$('#second>a').attr('href','#projects');
$('#third').html("<a>Contact</a>").removeClass('mega-octicon octicon-mail');
$('#third>a').attr('href','#contact');
$('#fourth').html("<a>Additional</a>").removeClass('mega-octicon octicon-diff-added');
$('#fourth>a').attr('href','#additional');
$('.OTOCWEL').css('display','initial');
$('.suwak').css('display','block');
$('#powered').removeClass('fixerpowered');
$('.dzolero').css('display','none');
}
});
scroll.js
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
|| location.hostname == this.hostname) {
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;
}
}
});
我没有看到任何跳跃....即时通讯使用Chrome去掉的.html()功能来修复它! – AdamJeffers
我也没有看到任何跳跃。 Chrome 48! –
奇怪,我也使用Chrome。如果您手动滚动页面一点,然后按下“关于”按钮,您会看到跳跃吗? – pawcza