Я работаю над заголовком, который фиксируется, когда пользователь прокручивает до определенного количества пикселей.Sticky/fixed header не работает в Firefox и Android
Он работает на Chrome, но он вообще не работает в браузере Firefox и Android по умолчанию. Я подозреваю, что это имеет какое-то отношение к scrollTop
, но я не уверен, что.
Вот мой демо и код:
http://jsfiddle.net/xaliber/Y5xeZ/1/
$(window).scroll(function() {
var top = $(window).scrollTop();
var floatheader = $('#telunjuk-category').height()
+ parseInt($('#telunjuk-category').css('padding'))
+ parseInt($('#telunjuk-category').css('borderWidth')); // height of <header>
var whitebarandsearchbar = 68 + $('.ui-listview-filter.ui-bar-c').height()
+ parseInt($('.ui-listview-filter.ui-bar-c').css('padding'))
+ parseInt($('.ui-listview-filter.ui-bar-c').css('borderWidth'));
if (top > floatheader) // height of float header
$(function() {
$('#categorypage #telunjuk-titlebar').addClass('stick');
$('#categorypage .ui-listview-filter.ui-bar-c ').addClass('stick');
$('#categorypage').css("padding-top", whitebarandsearchbar);
})
else {
$('#categorypage').removeAttr('style');
$('#categorypage .ui-listview-filter.ui-bar-c').removeClass('stick');
$('#categorypage #telunjuk-titlebar').removeClass('stick');
}
});
Он использует несколько переменных, так как <header>
(который хранится в floatheader
) изменяет высоту с различным размером экрана. Форма поиска (которая хранится в whitebarandsearchbar
вместе с #telunjuk-titlebar
).
Я попытался изменить $(window).scrollTop()
на $(document).scrollTop()
как предложено this answer. Я также попробовал исправить предложенное решение in this post. Но это все еще не работает.
Любая помощь?