En Javascript estoy borrando el contenido de un DIV y luego volviéndolo a poblar, ¿hay alguna manera de suspender el diseño de estos elementos o bloquear la interfaz de usuario hasta que haya terminado de cortar en el HTML? No quiero que aparezcan mensajes, simplemente no quiero ver el parpadeo a medida que se eliminan/agregan los elementos.Suspender el diseño durante la interacción de DOM
Respuesta
ocultar añadiendo el atributo de estilo de display: none, hacer las cosas, a continuación, volver a mostrar el div después
Se puede construir el contenido del nuevo elemento en una DocumentFragment antes de insertarlo en el documento actual:
var fragment = document.createDocumentFragment();
// build node in fragment
var div = /* … */; // DIV that should be replaced
div.parentNode.replaceChild(fragment, div);
la mayoría de las bibliotecas de gráficos usan el mismo 'truco', llamado doble buffer – xtofl
aconsejar solo podría actualizar el contenido div en su conjunto, construyendo todo el contenido html y luego agregarlo al div innerHTML a la vez, como opuesto para agregar elemento al div uno por uno que es más costoso computacional ya que implica reconstruir el árbol dom cada vez (que también puede causar parpadeo)
Hola, lo estoy agregando todo de una vez usando la función html() de JQuery. – Mantorok
Encontré que aplicando una altura fija al div lo ordenaba, la altura no se había establecido antes, por lo que estaba creciendo/reduciéndose con el contenido.
Gracias por las respuestas, ¡oh y Do!
- 1. ¿Cómo suspender el hilo actual durante 20 segundos en java?
- 2. iphone development: deshabilitar la interacción del usuario durante la animación
- 3. ¿Cómo puedo suspender y reanudar el diseño en WPF?
- 4. Suspender la aplicación
- 5. Los rieles impiden el diseño durante la solicitud de AJAX
- 6. ¿Cuál es la diferencia entre el diseño de interacción, el diseño visual, el diseño web, el diseño de UX, el diseño de la interfaz de usuario, el desarrollo de la interfaz de usuario?
- 7. ¿Puedo suspender la funcionalidad de iScroll?
- 8. Información de informes durante la ejecución del código: mejor diseño
- 9. Suspender evento predeterminado en jQuery
- 10. La identificación del cliente durante una invocación de NET interacción remota
- 11. Suspender enlaces en knockout.js 1.2.1
- 12. Android Suspender solicitud de aplicación
- 13. MBProgressHUD deshabilitar la interacción con UITableViewController
- 14. Servicio de interacción vs Objetos de solicitud de interacción
- 15. desactivar la interacción táctil en UITableView
- 16. WPF - ¿Cómo detener columnas ItemsControl de pseudo-rejilla de la danza/saltando durante el diseño
- 17. Suspender Volver a dibujar de Windows Formulario
- 18. ¿Cómo puedo determinar por qué la máquina salió de suspender?
- 19. interacción remota vs toma
- 20. No se enfoca, pero ¿permite la interacción?
- 21. UIButton interacción dentro de UIPageViewController
- 22. Interacción de Silverlight y Javascript
- 23. SVN Hudson JIRA interacción
- 24. interacción NSThread y UIViewController
- 25. Interacción Apache + mod_wsgi
- 26. Symfony Interacción de aplicaciones múltiples
- 27. ¿Usar python para automatizar la interacción?
- 28. Cómo hacer que el ancho de la página de Crystal Reports sea más grande durante el diseño de .rpt
- 29. ¿Cómo puedo suspender otro hilo (no el actual)?
- 30. C# TWAIN interacción
Esto hace que el div se colapse, voy a verificar la configuración de altura y ver si puedo mantener una altura constante al hacer esto, gracias. – Mantorok
Puedes poner un div externo en su lugar para mantener el tamaño consistente ... solo un pensamiento. –
esto es lo que hice al final, olvidé que el marcador de posición div se estaba ocultando, así que puse un marcador de posición dentro de ese div y todo está bien. – Mantorok