Comment puis-je faire changer mon curseur en cette icône de chargement lorsqu'une fonction est appelée et comment le changer en un curseur normal dans javascript / jquery
javascript
jquery
html
Ahmet
la source
la source
Réponses:
Dans votre utilisation jQuery:
puis de nouveau à la normale
la source
$("html,body")
parce que le corps de ma page ne correspondait qu'à la moitié de la fenêtre, donc le curseur était toujours par défaut lors du survol de la moitié inférieure.!important
la solution de @ hrabinowitz ciUn collègue a suggéré une approche que je trouve préférable à la solution choisie ici. Tout d'abord, en CSS, ajoutez cette règle:
Ensuite, pour activer le curseur de progression, dites:
et pour désactiver le curseur de progression, dites:
L'avantage de cette approche est que lorsque vous désactivez le curseur de progression, tous les autres curseurs définis dans votre CSS seront restaurés. Si la règle CSS n'est pas suffisamment puissante pour remplacer les autres règles CSS, vous pouvez ajouter un identifiant au corps et à la règle, ou utiliser
!important
.la source
Veuillez ne pas utiliser jQuery pour cela en 2018! Il n'y a aucune raison d'inclure une bibliothèque externe entière juste pour effectuer cette action qui peut être réalisée avec une seule ligne:
Changer le curseur en double flèche:
document.body.style.cursor = 'wait';
Ramener le curseur à la normale:
document.body.style.cursor = 'default';
la source
Ce qui suit est ma méthode préférée, et changera le curseur chaque fois qu'une page est sur le point de changer ie
beforeunload
la source
Utilisation de jquery et css:
HTML:
<div id="element">Click and wait</div>
CSS:
.wait {cursor:wait}
Démo ici
la source
div
. En pratique, l'élément choisi pour afficher le curseur d'attente doit être plus grand que l'élément sur lequel vous avez cliqué. Souvent, il est préférable d'afficher sur toute la page, comme dans la réponse acceptée.Remplacer tous les éléments uniques
la source
Cela créera un curseur de chargement jusqu'à ce que votre appel ajax réussisse.
la source
success
etcomplete
est supprimé dans jQ3, vous devez donc utiliser$.ajax(...).always(...);
Le curseur de progression peut être défini dans labeforeSend
fonction.jQuery:
$("body").css("cursor", "progress");
de retour
$("body").css("cursor", "default");
Pur:
document.body.style.cursor = 'progress';
de retour
document.body.style.cursor = 'default';
la source
Vous n'avez pas besoin de JavaScript pour cela. Vous pouvez changer le curseur en tout ce que vous voulez en utilisant CSS:
Voir ici pour la prise en charge du navigateur car il existe des différences subtiles selon le navigateur
la source
Voici quelque chose d'intéressant que vous pouvez faire. Définissez une fonction à appeler juste avant chaque appel ajax. Attribuez également une fonction à appeler après la fin de chaque appel ajax. La première fonction définira le curseur d'attente et la seconde l'effacera. Ils ressemblent à ceci:
la source
S'il enregistre trop rapidement, essayez ceci:
la source
Le réglage du curseur pour «corps» changera le curseur pour l'arrière-plan de la page mais pas pour les contrôles sur celle-ci. Par exemple, les boutons auront toujours le curseur normal lorsqu'ils seront survolés. Voici ce que j'utilise:
Pour définir le curseur 'wait', créez un élément de style et insérez dans la tête:
Ensuite, pour restaurer le curseur, supprimez l'élément de style:
la source
J'ai trouvé que le seul moyen pour que le curseur réinitialise efficacement son style à ce qu'il avait avant d'être changé en style d'attente était de définir le style d'origine dans une feuille de style ou dans des balises de style au début de la page, définissez la classe de l'objet en question au nom du style. Ensuite, après votre période d'attente, vous définissez le style du curseur sur une chaîne vide, PAS "par défaut" et il revient à sa valeur d'origine telle que définie dans vos balises de style ou feuille de style. Le paramétrer sur "par défaut" après la période d'attente ne change que le style du curseur pour chaque élément par le style appelé "par défaut" qui est un pointeur. Cela ne le ramène pas à sa valeur d'origine.
Il y a deux conditions pour que cela fonctionne. Vous devez d'abord définir le style dans une feuille de style ou dans l'en-tête de la page avec des balises de style, PAS en tant que style en ligne et en second lieu, réinitialiser son style en redéfinissant le style d'attente sur une chaîne vide.
la source