¿Cómo puedo hacer que mi cursor cambie a este ícono de carga cuando se llama a una función y cómo lo volvería a cambiar a un cursor normal en javascript / jquery?
javascript
jquery
html
ahmet
fuente
fuente
Respuestas:
En su uso de jQuery:
y luego de nuevo a la normalidad
fuente
$("html,body")
porque el cuerpo de mi página solo se ajusta a la mitad de la ventana, por lo que el cursor todavía estaba predeterminado al pasar el cursor sobre la mitad inferior.!important
con la solución de @ hrabinowitz a continuaciónUn colega sugirió un enfoque que considero preferible a la solución elegida aquí. Primero, en CSS, agregue esta regla:
Luego, para activar el cursor de progreso, diga:
y para apagar el cursor de progreso, diga:
La ventaja de este enfoque es que cuando apaga el cursor de progreso, se restaurarán los otros cursores que se hayan definido en su CSS. Si la regla CSS no es lo suficientemente poderosa en precedencia para anular otras reglas CSS, puede agregar una identificación al cuerpo y a la regla, o usar
!important
.fuente
¡No use jQuery para esto en 2018! No hay ninguna razón para incluir una biblioteca externa completa solo para realizar esta acción que se puede lograr con una línea:
Cambiar el cursor a ruleta:
document.body.style.cursor = 'wait';
Revertir el cursor a la normalidad:
document.body.style.cursor = 'default';
fuente
La siguiente es mi forma preferida, y cambiará el cursor cada vez que una página esté a punto de cambiar, es decir
beforeunload
fuente
Usando jquery y css:
HTML:
<div id="element">Click and wait</div>
CSS:
.wait {cursor:wait}
Demo aquí
fuente
div
. En la práctica, el elemento elegido para mostrar el cursor de espera debe ser más grande que el elemento en el que se hizo clic. A menudo, es mejor mostrarlo en toda la página, como en la respuesta aceptada.Anular todos los elementos individuales
fuente
Esto creará un cursor de carga hasta que su llamada ajax tenga éxito.
fuente
success
ycomplete
se eliminan en JQ3, así que hay que ir con$.ajax(...).always(...);
el cursor progess se podría establecer en labeforeSend
función.jQuery:
$("body").css("cursor", "progress");
de nuevo
$("body").css("cursor", "default");
Puro:
document.body.style.cursor = 'progress';
de nuevo
document.body.style.cursor = 'default';
fuente
No necesita JavaScript para esto. Puedes cambiar el cursor a lo que quieras usando CSS:
Consulte aquí la compatibilidad con el navegador, ya que existen algunas diferencias sutiles según el navegador.
fuente
Aquí hay algo más interesante que puedes hacer. Defina una función para llamar justo antes de cada llamada ajax. También asigne una función para llamar después de que se complete cada llamada ajax. La primera función establecerá el cursor de espera y la segunda lo borrará. Tienen el siguiente aspecto:
fuente
Si guarda demasiado rápido, intente esto:
fuente
Establecer el cursor para 'cuerpo' cambiará el cursor para el fondo de la página pero no para los controles en ella. Por ejemplo, los botones seguirán teniendo el cursor normal al pasar el cursor sobre ellos. Lo siguiente es lo que estoy usando:
Para configurar el cursor de 'espera', cree un elemento de estilo e insértelo en el encabezado:
Luego, para restaurar el cursor, elimine el elemento de estilo:
fuente
Descubrí que la única forma de hacer que el cursor restableciera efectivamente su estilo a lo que tenía antes de ser cambiado al estilo de espera era establecer el estilo original en una hoja de estilo o en etiquetas de estilo al comienzo de la página, establecer la clase del objeto en cuestión al nombre del estilo. Luego, después de su período de espera, vuelve a establecer el estilo del cursor en una cadena vacía, NO "por defecto" y vuelve a su valor original como se estableció en sus etiquetas de estilo o hoja de estilo. Establecerlo en "predeterminado" después del período de espera solo cambia el estilo del cursor para cada elemento al estilo llamado "predeterminado", que es un puntero. No lo vuelve a cambiar a su valor anterior.
Hay dos condiciones para que esto funcione. Primero debe establecer el estilo en una hoja de estilo o en el encabezado de la página con etiquetas de estilo, NO como un estilo en línea y, en segundo lugar, restablecer su estilo estableciendo el estilo de espera de nuevo en una cadena vacía.
fuente