我正在尝试通过检查长滚动站点中当前活动的 div 来更新 location.hash。这工作正常是 chrome,但在 Firefox 和 IE 中失败。我已经使用 console.log 进行了测试,并且能够在控制台中看到 id,但是一旦我尝试将其输入到位置哈希中,滚动就会在页面上停止工作,或者无法预测地跳来跳去!
$(window).scroll(function () {
$('div').each(function(){
if (
$(this).attr('class')=='article' && $(this).offset().top < window.pageYOffset + 10
&& $(this).offset().top + $(this).height() > window.pageYOffset + 10
) {
window.location.hash = $(this).attr('id')
}
});
});