En mobile safari, en el curso de la gestión de touchmove para un elemento, puedo cambiar el className de ese elemento. Por desgracia, el cambio visual no ocurra mientras el usuario se desplaza, o hasta el final de inercia de desplazamiento.

¿Qué puedo hacer para obtener la className visualmente tomar inmediatamente?

Más: al Parecer esto no se limita a className cambios, pero parece que cualquier cambio en el DOM, tales como innerHTML y style.

OriginalEl autor Hilton Campbell | 2012-05-07

3 Comentarios

  1. 13

    Esto es por diseño, por desgracia. iOS safari va a la cola de todos manipulación DOM hasta el final de un desplazamiento o un gesto. Efectivamente el DOM está congelada durante un desplazamiento.

    Yo pensé que podría encontrar una referencia a esto en una página de desarrolladores de apple, pero sólo puedo encontrar este enlace para jQueryMobile: http://jquerymobile.com/test/docs/api/events.html.

    Tenga en cuenta que los dispositivos iOS de congelación de manipulación DOM durante el desplazamiento, la cola de
    aplicar cuando el desplazamiento de los acabados. Actualmente estamos investigando
    maneras para permitir el DOM manipulaciones para aplicar antes de un desplazamiento comienza

    Espero que esto ayude!

    Después de una reflexión, supongo que es más pesado de manipulación DOM no ralentiza el encantador de inercia de las barras de desplazamiento.
    Tristeza. El más lo intentaba, más clara que se convirtió este es el caso.
    De alguna manera, este sitio supera esa limitación. Nadie entiende lo que hizo? victoriabeckham.landrover.com/INT
    Muy buen efecto!!!! Yo podría estar equivocado, pero parece que se va a reemplazar los botones de desplazamiento (en su touchMoveHandler método en ScrollAnimator.js están utilizando evento.preventDefault) y sólo la animación de la zona visible para parecerse a un desplazamiento que está ocurriendo. Puede estar equivocado, sólo miramos por unos pocos minutos, pero parece que ese es el caso! 🙂
    Un poco después de los hechos, pero facebook home no esta bien en móviles (ipad)

    OriginalEl autor Andy

  2. 15

    He construido este sitio, y sí la manera de conseguir alrededor de esta limitación es la de no desplazarse al sitio utilizando el construido en la funcionalidad del navegador, pero falso. El JS escucha la rueda de desplazamiento y los eventos de teclado y las interpolaciones de la css propiedad superior del contenedor principal para su propio ‘scrollTop’. La barra de desplazamiento de la derecha es de un curso personalizado de JS. En este caso su sincronizados a la misma, a nivel interno, scrollTop de valor.

    Todo el sitio es un gran interpolación realmente, con la línea de tiempo principal de su scrollTop posición, y todos los sub animaciones se activen en determinados momentos. El JS no se reducirá así que tome una mirada en el ScrollAnimator.js archivo, todo está ahí.

    Una obra de arte de verdad.
    Sí, esto es muy impresionante. Gran trabajo!
    alguien puede proporcionar un enlace? donde es ese sitio
    Enlace de arriba parece estar roto. Cualquiera puede publicar el código de ejemplo?
    Hubiera sido bueno incluir el código de ScrollAnimator.js antes de que el enlace se fue :/

    OriginalEl autor rje

  3. 3

    Simplemente cambiar de posición -webkit-sticky. No establezca parte superior, por lo que se verá como un elemento normal, pero se comporta como un elemento fijo. Y usted puede actualizar su estilo, excepto la posición de inmediato.

    esto funciona muy bien en iOS y las nuevas versiones de escritorio de safari. Lo que yo hice para el encabezado fue específicamente para iOS puedo usar esta propiedad, todo lo demás usa el fijo, esto es debido a la compatibilidad. Más información sobre esta propiedad aquí: updates.html5rocks.com/2012/08/…
    Este! Increíble! He estado tirando de mi pelo para los días tratando de encontrar soluciones para animar algo durante el evento «touchmove» e posición: pegajosa; es exactamente lo que yo necesitaba. Yo nunca habría llegado con esto por mi cuenta. Muchas gracias!

    OriginalEl autor bumfo

Dejar respuesta

Please enter your comment!
Please enter your name here