Запускать такие вещи нужно, используя 2 события. Загрузки документа и скрола документа.
Ведь, если мы обновили страницу где то по середине контента, то блок не прилипнет, ведь у вас он прилипает только при скролинге странце. Делать нужно так:
Либо так:
$(window).on('load scroll', function(){
//Скрипт
});
Либо так:
function fixedHeaderOnScroll(){
// Ваш код
}
$(document).on('ready', function(){
fixedHeaderOnScroll();
});
$(window).on('scroll', function(){
fixedHeaderOnScroll();
});
При загрузке страницы не должно и не происходит событие скролла, а значит, ваш скрипт не должен срабатывать. С чего он у вас запускается, для меня загадка.
P.S. Какой смысл фиксировать блок, если длина скролла больше 1px? Не проще ли сразу зафиксировать блок?