Javascript 适用于谷歌chrome,但不适用于firefox和IE
有人知道为什么这只适用于chrome吗。它基本上是一个代码,当您向下滚动导航固定类时,它会将导航条捕捉到顶部。函数fix_top_bar是一种将创建的条居中的方法Javascript 适用于谷歌chrome,但不适用于firefox和IE,javascript,jquery,Javascript,Jquery,有人知道为什么这只适用于chrome吗。它基本上是一个代码,当您向下滚动导航固定类时,它会将导航条捕捉到顶部。函数fix_top_bar是一种将创建的条居中的方法 function fix_top_bar(){ var barWidth = $('.nav-fixed').width(); $('.nav-fixed').css({ 'left' : '50%', 'margin-left' : '-' + (barWidth/2 + 20) + 'px' }); } $('d
function fix_top_bar(){
var barWidth = $('.nav-fixed').width();
$('.nav-fixed').css({ 'left' : '50%', 'margin-left' : '-' + (barWidth/2 + 20) + 'px' });
}
$('document').ready(function() {
$(window).scroll(function() {
if ($('body').scrollTop() > 112) {
$('nav').addClass('nav-fixed');
fix_top_bar();
}else{
$('.nav-fixed').css({ 'left' : '', 'margin-left' : ''});
$('nav').removeClass('nav-fixed');
}
});
fix_top_bar();
$(window).resize(function(){
fix_top_bar();
});
});
我想你的问题是
$('document').ready(function() {
试一试
$(document).ready(function(){//注意没有标记
if($('html').scrollTop()>112){
而不是$('body')。scrollTop()
在Firefox中适用于我
编辑
但这在Chrome中不起作用…doh
另一次编辑
丑陋,但这在两方面都有效:
var scrollTop = Math.max($('body').scrollTop(), $('html').scrollTop());
if (scrollTop > 112) {
必须有一个更好的跨浏览器解决方案…为什么需要js来做这件事?FF中到底发生了什么?@gabe如果你真的想检查它,这是我的另一个线程。@AxelAmthor javascript不起作用。javascript是启用的,无法修复它。有什么想法吗?@madmanali93你能在代码中显示CSS吗?还有一个工作方法在jsfiddle.net或jsbin.com上演示您的问题也会有帮助。@BenjaminGruenbaum NoIdea@rahulmaindargi所有的东西都在这里,这是更新的fiddle@rahulmaindargi,出于某种原因,我发给你的脚本不起作用。这是我的想法,所以html适用于firefox,body适用于html,但你给出的那两行代码不起作用这把小提琴在FF和Chrome两个版本中都对我有效
var scrollTop = Math.max($('body').scrollTop(), $('html').scrollTop());
if (scrollTop > 112) {