Dois caras perguntaram isso no fórum essa semana, e eu mesmo precisei fazer em um trabalho meu.

js-logo

Então lá vai.

O evento é o window.onscroll, pois até que o position: sticky; saia do rascunho da w3c, não temos nada “de graça” e pronto para fazer isso.

Então escutamos no evento onscroll, a posição atual da página, e ai, se chegar a ser maior que tal valor, podemos aplicar oque precisamos.

Em javascript puro

Bem simples:

window.onscroll = function(){
   var top = window.pageYOffset || document.documentElement.scrollTop
   if( top > 300 ) {
       console.log('Maior que 300');
   }
}

Em jQuery

Apenas caso vc já esteja com a lib incorporada, pois não vale nenhum pouco a pena coloca-la apenas por causa disso:

var $w = $(window);

$w.on("scroll", function(){
   if( $w.scrollTop() > 300 ) {
       console.log('Maior que 300');
   }
});

É isso! comentem caso usem!