【问题标题】:Javascript smooth scroll not working in FirefoxJavascript平滑滚动在Firefox中不起作用
【发布时间】:2016-02-25 10:52:04
【问题描述】:

我创建了这个网站:bosd.eu。 它有一段 javascript/jQuery 在点击时专注于页面的正确区域。

但是,当我使用 Firefox 时,无论是移动设备还是桌面设备都无法正常工作。

所以它必须是 javascript 对吗?

var initSmoothScroll = function(){
    $('.scroll').click(function () {
        doScroll($(this))
    });
};

var doScroll = function($element){
    $('body').animate({
        scrollTop: $('#' + $element.attr('target')).offset().top - 10
    }, 300);
};

$(window).scroll(function() {
    if ($(window).scrollTop() > 100) {
        $('#topbutton').fadeIn('slow');
    }
    else {
        $('#topbutton').fadeOut('fast');
    }
});

这是它在 HTML 中的处理方式:

<a class="scroll" target="story" id="storybutton"><h1>ABOUT</h1></a>

我在搜索时发现了这个,但它没有为我提供答案:

【问题讨论】:

  • 你为什么使用eval?我认为那里不需要。
  • 感谢您的回复,我删除了 EVAL,脚本在除 Firefox 之外的任何浏览器中仍然可以正常工作。

标签: javascript firefox


【解决方案1】:

显然我需要在 body.animate 中添加 HTML:

var doScroll = function($element){
$('body, html').animate({

现在可以完美运行了。

【讨论】:

  • 我可以确认这也解决了我的问题,干得好,谢谢。
猜你喜欢
  • 1970-01-01
  • 2014-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-11
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多