How to add css style if user scroll page over 112px

Luca Frank Guarini picture Luca Frank Guarini · Feb 19, 2012 · Viewed 17.9k times · Source

I would like to know how is possible to assign a css rule to an element only if current scroll position is greater than 112px..

I've tried this but it doesn't work:

    <script type="text/javascript">
$window.scrollTop(function(){ 

var a = 112;
var pos = $window.scrollTop();
if(pos > a) {
    $("menu").css({
                position: 'fixed'
            });
}
else {
    $("menu").css({
                position: 'absolute',
                top:'600px'
            });
}
});
</script>

Answer

Shameem picture Shameem · Feb 19, 2012

Try using below code

<script type="text/javascript">
$(window).scroll(function(){ 

var a = 112;
var pos = $(window).scrollTop();
if(pos > a) {
    $("menu").css({
                position: 'fixed'
            });
}
else {
    $("menu").css({
                position: 'absolute',
                top:'600px'
            });
}
});
</script>
  • $window.scrollTop changed to $(window).scroll
  • $window changed to $(window)