property div controlar capturar javascript ios onscroll

controlar - scroll to div javascript



Creación de un elemento de posición fija "pegajoso" que funciona en iOS Safari (5)

En el safari de iOS, la panorámica con un solo dedo no genera ningún evento hasta que el usuario detiene la panorámica. Un evento onscroll solo se genera cuando la página deja de moverse y se vuelve a dibujar.

Necesito una forma de detectar el desplazamiento en tiempo real. Específicamente, quiero hacer un menú pegajoso que también funcione en el safari de iOS. En los navegadores que no son móviles, se puede hacer un menú fijo cambiando de "posición relativa" a "posición fija" en el elemento mientras se escuchan los eventos de desplazamiento. Este método no funcionará en el navegador móvil porque los eventos de onscroll no se activan continuamente. ¿Que puedo hacer?


El viejo tema es seguro, pero puedo ver muchas visitas aquí. Si todo lo que quieres es un menú pegajoso, puedes usar posicionamiento fijo. No hay necesidad de iScroll allí.


Recientemente he pasado muchas horas tratando de encontrar una solución práctica para el mismo problema. No hay una forma correcta de hacer esto, aunque hay algunos hacks decentes (la mayoría de ellos ya se mencionaron). El problema es que JavaScript está en pausa mientras el usuario se desplaza. Tiene sentido cuando considera las implicaciones, pero hace que sea muy difícil implementar un elemento de posición fija.

Lo mejor que he podido encontrar es esta maravillosa publicación de la gente de Google. Puedes visitar http://gmail.com en el safari móvil para verlo en acción.

https://developers.google.com/mobile/articles/webapp_fixed_ui

Espero que esto ayude.



Si todo lo que desea es un menú fijo, puede ahorrarse algunos dolores de cabeza utilizando una biblioteca existente. He tenido éxito con iScroll:

http://cubiq.org/iscroll

Como mínimo, puede echar un vistazo a cómo funciona esto y basar su solución en eso.

¡Feliz piratería!


Tuve un problema similar y los controladores vinculados a touchstart / touchmove / touchend usando jquery para detectar el desplazamiento con un solo dedo y funcionó perfectamente. En mi caso, necesitaba mover otro elemento la misma cantidad que el intento de mover otro elemento y se actualizó muy bien cuando se intentó el desplazamiento, por lo que debería ser adecuado para su requerimiento.