我有一个在Chrome中工作得很好的脚本但在Firefox中没有,我不知道为什么会这样。该脚本假设从锚点向下滚动到一个id但在Firefox中什么都不做。
我如何使用下面的脚本示例!
<nav>
<ul>
<li><a class="scroll" target="home">Home</a></li>
</ul>
</nav>
<div id="home">
.....
</div>
<script>
$('.scroll').click(function() {
$(document).animate({
scrollTop: eval($('#' + $(this).attr('target')).offset().top - 70)
}, 1000);
});
</script>
答案 0 :(得分:6)
将$(document).animate
更改为$('html,body').animate
。
http://jsfiddle.net/mblase75/vL79H/
也就是说,如果JavaScript被禁用或无效,我会使用HTML标准哈希链接收紧你的代码:
<li><a class="scroll" href="#home">Home</a></li>
然后修改代码以适应它并删除不必要的eval
语句:
$('.scroll').click(function (e) {
e.preventDefault();
$('html,body').animate({
scrollTop: $($(this).attr('href')).offset().top - 70
}, 1000);
});