Pregunta

¿Hay alguna forma de mantener " Cargando ... " gráfico de aparecer cuando se actualiza cfdiv? Me gustaría evitar el parpadeo de cargar el gráfico y luego cargar el nuevo html.

¿Fue útil?

Solución

Al agregar estas líneas en la parte inferior del encabezado, sobrescribe " Cargando ... " html y parece evitar el efecto de parpadeo en IE y FireFox:

 <script language="JavaScript"> 
 _cf_loadingtexthtml=""; 
 </script> 

Si bien esto parece hacer el truco, sería bueno si hubiera una forma oficialmente compatible de personalizar la animación de carga por página o por control. Esperemos que agreguen soporte para eso en ColdFusion9.

Otros consejos

No creo que haya una forma actual de hacerlo mediante programación dentro de la etiqueta cfdiv . Si realmente quieres deshacerte de ese " Cargando ... " Mensaje y la imagen, hay un par de lugares donde puedes mirar.

Puede cambiar el nombre o eliminar la imagen, que se encuentra en: CFIDE\scripts\ajax\resources\cf\images\loading.gif

Eso solo se deshace de la animación. El " Cargando ... " el texto puede ser borrado en una cadena vacía, y se define en: CFIDE\scripts\ajax\messages\cfmessage.js

Obviamente, realizar estos cambios tendrá un impacto en otras etiquetas que no sean cfdiv , pero si está buscando eliminar este comportamiento en un lugar, estoy seguro de que no le importará matarlo en ningún otro lugar. también. :)

Me encantaría ver una forma más limpia de hacerlo si alguien más tiene alguna idea.

Esto no es de ninguna manera una solución completa o elegante, pero descubrí que el uso de márgenes negativos en elementos adyacentes puede " cubrir " la animación. No sé si este método funciona en todos los casos, pero para mi caso particular funcionó. La animación apareció junto a un campo de texto enlazado, a la derecha de la cual había un botón de envío. La capa fue flotada a la derecha. Usé un margen negativo en el botón de envío y cubrió la animación sin afectar la alineación de la capa.

Otra medida que hice fue verificar la estructura de la capa y agregar el siguiente código a mi css, estar seguro:

#TitleNameloadingicon {visibility:hidden;}
#TitleName_cf_button {visibility:hidden;}
#TitleNameautosuggest {background-color:#ffffff;}

Puede crear funciones para cambiar el mensaje antes de llamar a la carga ajax que puede configurar el mensaje y la imagen a un nuevo valor.

function loadingOrder(){
    _cf_loadingtexthtml="Loading Order Form <image src='/CFIDE/scripts/ajax/resources/cf/images/loading.gif'>"; 
}

function loadingNavigation(){
    _cf_loadingtexthtml="Loading Menu <image src='/CFIDE/scripts/ajax/resources/cf/images/loading_nav.gif'>"; 
}

(estos se integrarán finalmente en una sola función que tomará un parámetro text_value y image_path)

En algunos de mis procesos que cargan un cfdiv de navegación principal e izquierdo, uso una función como esta:

function locateCreateOrder(){
    loadingOrder();
    ColdFusion.navigate('/functional_areas/orders/orders_actions/cf9_act_orders_index.cfm','main_content');
    loadingNavigation();
    ColdFusion.navigate('/functional_areas/products/products_actions/cf9_products_menu.cfm','left_menu');
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top