javascript - 为什么在 Chrome 中它是 $("html") 而在 Safari 中 $("body") 用于滚动效果?我怎样才能做出完美的解决方案?
问题描述
我发现这正是我想要的: jQuery .scrollTop(); +动画
var body = $("html, body");
body.stop().animate({scrollTop:0}, 500, 'swing', function() {
alert("Finished animating");
});
但是作为问题中提到的评论的问题是触发器功能会触发两次。
我意识到这是因为$("html, body")
让两个元素绑定了这个事件。
但是,我注意到我不能简单地删除一个,因为它在 Safaribody
中有效,而在 Chromehtml
中有效。
而且我不知道在我可以访问的其他设备上会发生什么。
那么,是否有任何完美的解决方案,我不需要触发两次功能?
解决方案
推荐阅读
- typescript - Typescript 类型推断不适用于函数类型保护
- android - 使用 jsoup 显示来自互联网的数据
- python-3.x - Python 3 无法在 Windows 10 中向联网打印机发出 lpr 命令
- sharepoint-online - O365 组成员的列表权限不适用
- node.js - 在 process.exit 之前不发送 Bunyan 日志
- javascript - JavaScript - 自动登录
- maven - Tycho pomless - 为单个模块/父项目配置/阻止插件执行
- firebase - 为 CI/CD 开发和生产站点具有相同 repo 的不同项目设置不同的 firestore db
- python-3.x - 如何在 Django Rest Framwork 中序列化外键?
- html - 字体不会变色