动画滚动顶部在 Firefox 中不起作用

2024-01-09

这个功能运行良好。它将主体滚动到所需容器的偏移量

function scrolear(destino){
    var stop = $(destino).offset().top;
    var delay = 1000;
    $('body').animate({scrollTop: stop}, delay);
    return false;
}

但在 Firefox 中则不然。为什么?

-EDIT-

为了处理接受的答案中的双触发器,我建议在动画之前停止该元素:

$('body,html').stop(true,true).animate({scrollTop: stop}, delay);

Firefox 将溢出置于html级别,除非特别设计以不同的方式表现。

要使其在 Firefox 中工作,请使用

$('body,html').animate( ... );

工作示例 http://jsfiddle.net/4etct/

CSS 解决方案是设置以下样式:

html { overflow: hidden; height: 100%; }
body { overflow: auto; height: 100%; }

我认为 JS 解决方案的侵入性最小。


Update

下面的很多讨论都集中在以下事实:动画scrollTop两个元素的组合将导致回调被调用两次。浏览器检测功能已被建议,随后又被弃用,其中一些功能可以说是相当牵强的。

如果回调是幂等的并且不需要大量的计算能力,那么触发它两次可能完全不是问题。如果回调的多次调用确实是一个问题,并且如果您想避免功能检测,则强制回调仅从回调中运行一次可能会更直接:

function runOnce(fn) { 
    var count = 0; 
    return function() { 
        if(++count == 1)
            fn.apply(this, arguments);
    };
};

$('body, html').animate({ scrollTop: stop }, delay, runOnce(function() {
   console.log('scroll complete');
}));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动画滚动顶部在 Firefox 中不起作用 的相关文章

  • 检测用户在 jQuery 中向下滚动或向上滚动[重复]

    这个问题在这里已经有答案了 可能的重复 jquery 中向上 向下滚动的区别 https stackoverflow com questions 4989632 differentiate between scroll up down in
  • 移动浏览器上的 Javascript / jQuery 页面更改事件

    我正在设计一个移动网站 同时考虑所有领先的浏览器 Safari Chrome Dolphin Opera 我想显示一个 正在加载 元素页面导航 更改 请求新页面 我无法在锚标签上使用点击事件 因为有很多锚标签存在preventDefault
  • Bootstrap shown.bs.tab 事件不起作用

    我正在使用灵活的模板 http the8guild com themes html flexy v1 7 stylesPage html 使用引导程序 并且我无法让选项卡上的 shown bs tab 事件正常工作 我已经成功让它发挥作用J
  • 可拖动的非模态弹出窗口 Jquery Mobile

    我希望在 Jquery mobile 中有一个弹出窗口 它不会阻止用户与页面交互 并且 data dismissible false 即当页面的另一部分与页面的另一部分交互并保持可见时 弹出窗口不会消失 我已经尝试过这个 popupNew
  • Firefox CSS 旋转与 Chrome 旋转不同

    我想制作一个 3D 矩形 平行六面体 用户可以用箭头移动它 它在 Chrome 中工作得很好 但在 Firefox 中 一些转换 实际上很多 与 Chrome 不同 看着this https jsfiddle net 7273yur9 2
  • 从数据库中给定时间起经过的时间

    我有一个 HTML 表 其中包含从数据库中提取的记录 我正在使用 PHP MySQL 我的表中名为 Timer 的列未从数据库中检索 我需要在此处显示经过的时间 从数据库中的特定时间开始 例如 假设现在的时间是2013年2月21日下午6点2
  • 通过ajax POST提交两次表单

    插入到mysql using php通过文件调用AJAX 前insert语句php代码执行select查询到查找重复记录并继续insert statement Issue 从ajax调用php文件时 它执行了两次并得到作为重复记录的响应 好
  • 字母数字验证在 jquery 中不起作用

    我的代码如下 包含所有必需的js文件 当我提交表单而不为 UserDetailAliasName 提供任何值时 表单不会提交并显示验证错误消息 此字段是必需的 但是如果我提交像 等值 表单会提交数据 我使用此表单从数据库搜索用户名 docu
  • 文章中的内联图像和标题 - 使标题的宽度与图像的宽度一致

    这是我的代码 div class image img src image jpg alt Image description p class caption This is the image caption p div 这是我的 CSS
  • 使用 JQuery getJSON 方法

    我正在尝试使用 JQuery getJSON 函数解析 JSON 数据 REST 查询是 http query yahooapis com v1 public yql q select 20woeid 20from 20geo places
  • jQuery:捕获图像加载事件错误404,可以做到吗?

    我基本上是循环播放一堆 YouTube 视频网址来获取每个视频id code 然后 我重申列表中的所有 缩略图 图像 并将源替换为 YouTube 视频缩略图 URL 我当前遇到的问题是 如果视频已从 youtube 中删除 则生成的图像源
  • 数据表:根据列中的值过滤行

    我需要从数据表中过滤掉列中不包含特定值的行 例如 对于下面的数据 我只想显示 type Dog 的结果 table tr th Type th th Breed th th Owner th tr tr td Dog td td Dober
  • 实现快速 Javascript 搜索?

    基本上 我有一个带有文本框的页面和 ul 列在其下面 这 ul 由用户的朋友列表填充 用户开始在文本框中输入朋友的名字 例如按 r 我想立即更新 ul 每次按键仅显示名字以 R 开头的朋友 例如 Richard Redmond Raheem
  • Google Chrome 上的 xsl:include 和 xsl:param,带有 jQ​​uery 转换插件

    我一直尝试在 Google Chrome 中使用 XSL 但没有成功 我读到 Chrome 在 XSLT 方面存在一些错误 其中之一是它不支持 xsl include 可以在这里检查错误 http code google com p chr
  • SAPUI5 等待延迟对象 // 等待 .done() 函数

    我知道有几个线程对此进行讨论 但我认为在 SAPUI5 上下文中没有线程回答有关 SAPUI5 中的延迟 同步调用的一般主题 在我的控制器中我得到 test function var dfd Deferred var sServiceUrl
  • 我可以在不同浏览器中获得一致的 CSS 颜色吗?

    我正在测试一个新网站 并且我有一个 div background color bbf6bb 这对我来说似乎无害 然而 在我的 MacBook Pro 上 Firefox 3 6 与 Safari 4 中的颜色看起来非常不同 在 Safari
  • @RenderBody() 该怎么办?

    我有一个 ASP NET MVC 3 应用程序JQuery UI Tabs 我有一个主布局页面 layout cshtml 代码如下 大师 layout cshtml需要一个 RenderBody 代码 既然是必需的 那我该怎么办呢 我想我
  • Firefox CSS 大纲错误?

    在 Chrome 和 IE9 上 我指定的 CSS 轮廓完全符合我的要求 并充当我正在设计的元素周围的第二个边框 但在 Firefox 上 轮廓会向外扩展 以便包含我生成的 after 伪元素以及主元素 这是一个错误 还是预期的 有什么好的
  • JsGrid 将嵌套对象加载到表中

    我正在 Django 中开发一个 Web 项目并使用 jsGrid 我遇到了问题并且找不到解决方案 我有一个嵌套的 JSON 数据 它是通过组合多个数据库表记录创建的 这是我的 JSON count 3 results personnel
  • jQuery 如何实现延迟滑动?

    我正在使用以下 jQuery div 框向上滑动 5 秒后淡出 有没有办法实现这一点 因为该框需要很长时间才能出现 document ready function load limit slideUp 500 have tried fast

随机推荐

  • Autofac 和 ASP.NET Web API ApiController

    我已经在 MVC 3 中使用 autofac 一段时间了 并且很喜欢它 我最近将一个项目升级到 MVC 4 除了 Web Api ApiController 之外 一切似乎都正常工作 我收到以下异常 An error occurred wh
  • 根据 pom 中的活动配置文件更改包装

    我有一个用 Maven 编译的项目 我在 pom xml 中声明了不同的配置文件 对于其中一些配置文件 我更喜欢构建战争 而对于其他配置文件 我更喜欢罐子 我用来手动编辑 pom xml 文件并将打包变量更改为
  • iOS:Testflight 没有可供外部测试人员使用的版本

    我正在使用 testflight 作为我的应用程序的 Beta 测试工具 我已上传构建 但邀请已成功发送给内部测试人员 但没有邀请发送给外部测试人员 Below image shows both the groups has been in
  • 未捕获的引用错误:__importDefault 未定义

    我是角度新手 我在我的中遇到这个错误index component ts file 未捕获的引用错误 importDefault 未定义 附上错误截图 https i stack imgur com xUKWA png 我从 8 升级到 9
  • React Native - 具有动态高度子项的 FlatList

    我一直在努力将类似砖石的风格融入我的应用程序中 我尝试应用react native masonry包裹 但是您必须传递图像网址 我正在尝试实现相同的样式 但渲染文本而不一定渲染图像 到目前为止 我已经解决了FlatList 但这是我所能得到
  • 在 D3 强制布局节点标签中插入换行符

    因此 我正在使用力定向图 并且我已将鼠标悬停在节点上的 text 更改为数据中的另一个文本 我的代码如下所示 script var data nodes name YHO full name Yahoo type 1 slug www ya
  • Silverstripe 条件验证

    我有一个包含多个操作的表单 例如创建订单并创建报价 根据单击的操作 我需要应用不同的验证 例如报价不需要订单参考号 这在 Silverstripe 中可能吗 如果不是的话我该怎么办呢 public function Order reques
  • C# 模拟单元测试 GraphServiceClient

    我在使用 Moq 和 xUnit 在 C 中编写单元测试时遇到问题 在我的服务中 我有以下代码 var options new TokenCredentialOptions AuthorityHost AzureAuthorityHosts
  • 获取页面上的当前类别名称,该页面按类别和自定义元键过滤帖子

    我成功地使用自定义插件 和meta key 按喜欢 计数 过滤了我的所有WordPress帖子 在自定义页面模板中 这也让我可以使用以下内容过滤特定类别中最喜欢的帖子 if isset GET category args array met
  • 如何终止由 Ant 启动的失控 Java 进程?

    如果我从 ant 脚本启动一个分叉的 java 进程并终止该 ant 进程 它不会终止该 java 进程 无论是从 IDE 还是从命令行运行都是如此
  • 如何在 ms access vba 中运行追加查询作为事务的一部分

    我对编程非常陌生 一直在 MS Access 2016 上构建我公司的库存数据库 到目前为止 我已经能够很好地使用宏 但我正在尝试运行由追加和删除查询组成的事务我正在努力处理 vba 代码 我想出了如何在查询因错误而失败的情况下运行事务 但
  • html5和xamarin有什么区别?

    我是一名 C NET 开发人员 我想开发可以在 iPhone Android 和 Windows Phone 上运行的移动应用程序 到目前为止 我发现www xamarin com提供了一个可以使用C 开发iphone和android的解决
  • 如何禁用复选框抖动

    我在 ListTile 中使用 Checkbox 如下所示 ListTile leading Checkbox value isChecked onChanged v setState isChecked isChecked title T
  • 正则表达式查找代码中的空注释

    我正在寻找一个正则表达式 它只能找到空的java注释 如下所示 Eclipse 创建这些时 例如生成序列版本 ID 还有另一个thread https stackoverflow com questions 1657066 java reg
  • angularjs 过滤器不适用于 $http

    我是 angular js 的新手 但我不知道如何制作 filter xxx 处理通过 http 服务生成的数据 在下面的代码中 我根本无法让过滤器处理 http 生成的数据 当我在输入框中键入内容时 它根本不执行任何操作 但是 如果我在
  • 如何在 PHP 中按日期对文件进行排序

    我目前有一个脚本 它允许我输出同一目录中的文件列表 输出显示名称 然后我使用filemtime 函数显示文件修改日期 如何对输出进行排序以显示最新修改的文 件 这就是我现在所拥有的 if handle opendir while false
  • 使用 NextJS 动态添加变量到外部 js 脚本

    我里面有这个外部 hotjar 脚本 static js of my nextjs应用 function h o t j a r h hj h hj function h hj q h hj q push arguments h hjSet
  • 端口 443 上出现 SSL 错误,页面未显示并导致错误 404

    我最近必须找到一种方法来为我的域名获取 SSL 证书 正如您可能知道的那样 Facebook 要求在 10 月 1 日之前提供此证书 因此 我在我的服务器上签署并安装了startssl 证书 现在我的问题是 当我尝试访问我的 https 站
  • 将 XML 发送到 Android 中的 Web 服务

    我想将其作为 XML 发送到我的 Web 服务 我该怎么做呢
  • 动画滚动顶部在 Firefox 中不起作用

    这个功能运行良好 它将主体滚动到所需容器的偏移量 function scrolear destino var stop destino offset top var delay 1000 body animate scrollTop sto