He arreglado div en la parte inferior de la página que funciona bien. Me pregunto si hay alguna manera simple de hacer que se "pare" en algún lugar de la página cuando el usuario se desliza hacia ella. Quiero que permanezca fijo en la parte inferior, hasta que el usuario se desplaza hacia abajo a un lugar definido en la página y luego lo pega a la página y se desplaza como el resto del contenido. ¿Alguna sugerencia?div fijo en la parte inferior de la página que se detiene en un lugar dado
Respuesta
He intentado configurar algo en jsfiddle. Mientras escribía, veo que otros han publicado sus alternativas. En caso de que el mío ayude de alguna manera: http://jsfiddle.net/PnUmM/1/
Configuré la posición relativa en el CSS, calculo dónde está en la carga del documento para mantener la información a un lado y luego establecerlo en fijo.
var sticky_offset;
$(document).ready(function() {
var original_position_offset = $('#sticky_for_a_while').offset();
sticky_offset = original_position_offset.top;
$('#sticky_for_a_while').css('position', 'fixed');
});
$(window).scroll(function() {
var sticky_height = $('#sticky_for_a_while').outerHeight();
var where_scroll = $(window).scrollTop();
var window_height = $(window).height();
if((where_scroll + window_height) > sticky_offset) {
$('#sticky_for_a_while').css('position', 'relative');
}
if((where_scroll + window_height) < (sticky_offset + sticky_height)) {
$('#sticky_for_a_while').css('position', 'fixed');
}
});
sí, las respuestas vienen muy rápido aquí :-) pero de todas formas gracias por intentarlo, tengo la idea – Gatekeeper
ok, finalmente encontré tiempo para probar esto, tuve que volver a escribirlo en js puros porque no puedo usar jQuerry en esto, pero funciona como encanto ahora. Gracias. – Gatekeeper
Hola, esto también funciona para mí ... sin embargo, en lugar de ajustarlo a la parte inferior, necesito adjuntarlo a la parte superior de la pantalla cuando se desplaza hacia abajo ... ¿Alguna idea? – Krunal
Tengo un complemento que hace lo contrario: está en el flujo de la página web, y cuando el usuario se desplaza pasando, se fija a la ventana gráfica. Sin embargo, lo que realmente hace es aplicar una clase css al elemento, por lo que debería poder usarlo tal cual.
puede encontrar el plugin aquí: https://github.com/hanssonlarsson/jquery-fixedscroll
entonces sugeriría que tenga su elemento en el flujo de su página web:
<div id="sometimesFixed">content</div>
con CSS:
#sometimesFixed {
position: fixed;
bottom: 0;
}
#sometimesFixed.scroll {
position: static;
}
Y aplique el complemento como tal, en su JavaScript:
$('#sometimesFixed').fixedscroll({className: 'scroll'});
También hay un complemento más general, muy nuevo, llamado jquery-waypoints. La idea es vincular cualquier código a "puntos de ruta", puntos en la página web donde, cuando el usuario se desplaza más allá de ellos, se ejecuta algún código.
https://github.com/imakewebthings/jquery-waypoints
es probablemente más optimizado y un mejor ajuste que mi plugin, pero tu caso es distinto!
Bueno, pero me temo que esta vez no puedo usar jquery, no lo usamos en nuestro proyecto. Tengo que encontrar la forma de hacerlo con dojo o js puro. ¡Pero gracias de cualquier manera! – Gatekeeper
Lo hice por usted: http://jsfiddle.net/XCYFG/1/.
$(document).ready(function() {
window._div1 = $('#div1'); //selector is expensive
window._window = $(window);
$(window).scroll(function(e) {
_div1.css("top",
Math.min(_window.height(),
window.scrollY + 100)
+ _window.height() - _div1.height() - 110);
}).scroll();
});
esto parece genial, pero ¿puedo controlarlo con la posición de otro div? Quiero decir que cuando me desplazo hacia abajo para ver "ese" div, ¿empiezas a desplazarte por este? Desde un breve vistazo a su código, el momento en que el desplazamiento del inicio div se define en píxeles, pero tendré diferente cantidad de contenido en cada página, así que tengo que ajustarlo cada vez ... pero pensándolo bien, puedo obtener una posición de ese div por js y que insertar el valor en tu script es eso correcto? – Gatekeeper
¿Podría echar un vistazo a: http://jsfiddle.net/XCYFG/2/? – pimvdb
En una nota lateral, mis soluciones captan mi potencia de CPU completa ... – pimvdb
- 1. Cómo alinear div en la parte inferior de la página, no en la parte inferior de la pantalla
- 2. CSS: fijo en la parte inferior y centrado
- 3. CSS Push Div a la parte inferior de la página
- 4. Alinear div en la parte inferior de la div principal
- 5. Cómo hacer un DIV siempre en la parte inferior de la página cuando se desplaza
- 6. Hacer que un pie de página CSS se siente en la parte inferior de la ventana del navegador o en la parte inferior del contenido
- 7. ¿Cómo colocar div en la parte inferior de otro div?
- 8. ¿Agregar un pie de página que siempre se muestra en la parte inferior de la pantalla?
- 9. jquery - detectar si la parte inferior de la div está tocando la parte inferior de la ventana del navegador?
- 10. forzando pie de página quedarse en la parte inferior?
- 11. Alinear contenidos de div en la parte inferior
- 12. CSS: Hacer que el pie de página se adhiera a la parte inferior de una página
- 13. Ayuda de diseño de CSS - Amplíe div en la parte inferior de la página
- 14. El pie de página de CSS no se pega a la parte inferior de la página
- 15. JavaScript en la parte inferior de la página?
- 16. Imprimir pie de página en la parte inferior de la página en safari
- 17. Cómo pegar texto en la parte inferior de la página?
- 18. JavaScript en la parte inferior/superior de la página web?
- 19. Hacer que la altura del pie de página se extienda hasta la parte inferior de la página
- 20. Css alinear a la parte inferior de la página
- 21. DIV adjunto a la parte inferior de la ventana
- 22. Añadir contenido a la parte inferior de la última página
- 23. ¿Cómo uso las animaciones CSS para deslizar un elemento de posición fijo desde la parte inferior de la página a la parte superior?
- 24. cómo configurar un botón en una ubicación fija en la parte inferior de la IU?
- 25. Poner una barra en la parte inferior de una página
- 26. 5px margen adicional que se agrega a la parte inferior de cada div
- 27. ¿Cómo mostrar div cuando el usuario llega a la parte inferior de la página?
- 28. jQuery Desplazarse a la parte inferior de la página
- 29. Cómo desplazar un iframe a la parte inferior cuando se carga la página?
- 30. IE6 relleno extra en la parte inferior
¿Quizás quiera decir (una modificación de) lo que se hace en las páginas de problemas de Chromium? (por ejemplo, http://code.google.com/p/chromium/issues/detail?id=75) Observe el panel izquierdo que permanece visible cuando se desplaza hacia abajo. Si no me estoy equivocando, te gustaría que sea un poco diferente pero espero que te ayude. – pimvdb
sí, parece que podría usar algo ... lo investigaré, quizás pueda hacerlo funcionar de la manera que lo necesito. ¡Gracias por responder! – Gatekeeper