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 así iba a funcionar, pero no hace nada:Cambiar la clase CSS después de desplazarse 1000px hacia abajo
HTML:
<div id="menu">[MENU_WILL_GO_HERE]</div>
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 un ¿Por qué esto no funciona? El código es un ejemplo en http://jsfiddle.net/roXon/psvn9/1/, e incluso cuando copie/pegue ese ejemplo exactamente como está en una página html en blanco, con un enlace de la biblioteca jquery más reciente, todavía no funciona como lo hace en esa página jsfiddle. ¿Qué podría estar pasando por alto?
aún más corto:. '$ ('# Menú') alternar ($ (esto) .scrollTop()> 1000) '. http://jsfiddle.net/elclanrs/h3qyV/1/ – elclanrs
Ah, viejo alternar, ¿cómo te he descuidado? Honestamente me olvidé que tomó un bool param. Buena captura, amigo. – AlienWebguy
Esto hace exactamente lo que quiero, pero no puedo ejecutar el script en ninguna página. ¿Tiene que estar en una determinada etiqueta o debe estar antes o después del código HTML? No puedo entender por qué no se está ejecutando y es exactamente el mismo código del violín. – taylor