Cambiar la clase de CSS después de desplazarse 1000px hacia abajo

Quiero que aparezca un menú fijo en la columna izquierda de mi sitio una vez que el usuario se desplace 1000px hacia abajo, pero no tengo mucha experiencia con jQuery / JS. Pensé que algo como esto funcionaría pero no está haciendo nada:

HTML:

 

ESTILO:

 #menu{display:none;}​ 

JQ:

 var fixed = false; ​$(document).scroll(function() { if( $(this).scrollTop() > 100 ) { if( !fixed ) { fixed = true; $('#menu').css({position:'fixed', display:'block'}); } } else { if( fixed ) { fixed = false; $('#menu').css({display:'none'}); } } });​ 

Q:

¿Hay alguna razón por la que esto no funciona? El código es un ejemplo en http://jsfiddle.net/roXon/psvn9/1/ , e incluso cuando copio / pego ese ejemplo exactamente como está en una página html en blanco, con un enlace de la última biblioteca jquery, todavía no funciona como lo hace en esa página jsfiddle. ¿Qué podría estar pasando por alto?

Sus llaves están mal en su ejemplo, pero independientemente, puede simplificar su código:

CSS :

 #menu { display : none; position : fixed; } 

JS :

  $(document).scroll(function() { $('#menu').toggle($(this).scrollTop()>1000) });​ 

Demostración : http://jsfiddle.net/elclanrs/h3qyV/1/

Editar como este

 if( $(this).scrollTop() > 1000 ) 

está buscando un desplazamiento de 1000px, pero parece 100px debido a esto, desde su código

    Intereting Posts