在滚动到单页网站的某个部分时,我使用以下脚本更改网址哈希。这在ie和firefox中工作得很完美,但在chrome和opera中却没有,我无法弄明白。
(jQuery)(function ($) {
// CHANGE URL ON SCROLL
$(function () {
var currentHash = "#intro"
$(document).scroll(function () {
$('section').each(function () {
var top = window.pageYOffset;
var distance = top - $(this).offset().top;
var hash = $(this).attr('id');
if (distance < 30 && distance > -30 && currentHash != hash) {
window.location.hash = (hash);
currentHash = hash;
}
});
});
});
});
答案 0 :(得分:0)
尝试使用$("body").offset().top
代替window.pageYOffset