JQuery ScrollTop适用于chrome,但不适用firefox
JQuery ScrollTop works on chrome but not firefox
我有一个简单的JS/Jquery脚本,允许用户导航(通过散列菜单链接和ScrollTop)到页面部分的特定部分(在本例中,是/guides/部分)。该脚本在Chrome上工作得很好。然而,在Firefox上,它似乎不会被触发。
在撰写本文时,我的chrome版本是:45.0.2454.85
我的火狐浏览器是40.0.3
相关网站的URL: genesistutorials101.com
带有哈希值的链接可以在MENU下找到。
我正在运行的脚本:
//HASH # NAV
$(function(){
if (window.location.hash) {
var target = $(window.location.hash);
navigateToTarget(target);
}
$('.nav-primary a[href*="#"]').on('click', function(event) {
//console.log("testing");
var href = $(this).attr("href");
var target = $(href.substr(href.indexOf("#")));
navigateToTarget(target);
});
});
function navigateToTarget(target) {
if( target.length ) {
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top - 155
}, 1000);
}
}
我在另一个stackoverflow线程上读到firefox不喜欢function()里面缺少'event',但我也试过了,没有任何明显的变化。
因此,出于测试的目的,可以点击chrome和firefox导航菜单上的任何初学者链接来体会一下差异。
任何帮助或指向解决方案将非常感谢
对
Sotkra
问题是您在navigateToTarget
函数中调用event.preventDefault()
,并且那里没有名为event
的变量。
它在Chrome上工作(可能在IE上),因为他们有一个全局属性window.event
,但该属性不是跨浏览器,它不会在没有这个属性的浏览器上工作。
你应该删除event.preventDefault()
,一切都会很好。
相关文章:
- :focus:一起活跃,不在firefox上工作
- javascript()onclick隐藏元素-dos'我不在firefox工作
- 如何在HTML / CSS中填充垂直和滚动中间窗格(Chrome可以工作,但不能Firefox)
- CSS 类在特定场景中不适用
- JavaScript计算不同于Firefox的图像尺寸(?)
- 在不使用Firefox的情况下编辑Firefox首选项
- ng类不适用
- Internet Explorer CSS类样式没有'如果存在具有相同类名的其他元素,则不适用
- “类型错误:参数 1 的 ..不是 Firefox 中的有限浮点值”
- jQuery-ui 不是 Firefox 插件中的样式面板
- Durandaljs 路由器重新加载页面,而不考虑 Firefox 中的“trigger: false”参数
- 拖放在Chrome中工作,而不是Firefox
- 指令“链接”不适用,如我所愿
- 最小和最大轴值在具有对数轴的高图表中不适用
- 选择在chrome上选择工作,但不是Firefox / IE
- 为什么在jQuery中使用focusout适用于Firefox,而使用addEventListener则不适用;t
- 单选按钮'onclick'适用于Chrome和Firefox,但不适用IE
- JQuery ScrollTop适用于chrome,但不适用firefox
- Jquery touch punch适用于Chrome和Firefox,但不适用IE
- JavaScript window.location.replace适用于Firefox,但不适用IE或Chrome