這裏試試這個,添加HTML
和BODY
到scrollTop()
方法,這完美的作品在所有的瀏覽器。
$('nav > *').click(function(event){
event.preventDefault();
var navClicked = $(this).index();
var elem = $(this).attr("href");
$('html,body').scrollTop($(elem).offset().top - 48);
});
nav {
width: 100%;
height: 48px;
background-color: red;
position: fixed;
top:0;
}
#about{
width:400px;
height:400px;
background:#111;
}
#benefits{
width:400px;
height:400px;
background:#ccc;
}
#team{
width:400px;
height:400px;
background:#f22;
}
#path{
width:400px;
height:400px;
background:#f2f;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav>
<a href="#about">about</a>
<a href="#benefits">benefits</a>
<a href="#team">team</a>
<a href="#path">path</a>
</nav>
<div id="about"></div>
<div id="benefits"></div>
<div id="team"></div>
<div id="path"></div>
也可以添加您的html代碼或創建一個jsfiddle。 – frnt
@frnt https://jsfiddle.net/5L3xyuuv/1/ –
什麼樣的測試頁是?它幾乎是空的,並且不會重現問題 – vsync