脚本适用于chrome,但不适用于Firefox

时间:2014-04-23 20:44:04

标签: javascript jquery html google-chrome firefox

我有一个在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>

1 个答案:

答案 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);
});

http://jsfiddle.net/4FQn7/