出於某種原因,我的頁面'跳轉',而不是第二次點擊菜單中的內部鏈接後,平滑滾動。 我很確定這與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