Desidero mostrare all'utente uno stato che il risultato sta caricando. Come posso cambiare cursore o gif mentre carico il risultato in div con $ MyDiv.load ("page.php")?jquery attende il cursore durante il caricamento di html in div
risposta
- stile Inizialmente il caricamento delle immagini non visibile.
- Cambia lo stile in visibile quando inizi a caricare.
- Cambia lo stile in non visibile quando si carica finito utilizzando un argomento di callback per caricare().
Esempio:
$("#loadImage").show();
$("#MyDiv").load("page.php", {limit: 25}, function(){
$("#loadImage").hide();
});
$("body").css("cursor", "progress");
Basta ricordarsi di restituirlo dopo:
$MyDiv.load("page.php", function() {
// this is the callback function, called after the load is finished.
$("body").css("cursor", "auto");
});
questo non ha funzionato sul mio sito, ma $ ("*") css ("cursore" , "progresso") ha fatto – Bryan
hmm ... questo approccio ha un effetto collaterale negativo ... impostazione $ ('*').css ('cursor', 'auto') cancella tutti i cursori speciali che potresti aver impostato sugli elementi nella pagina. non buono! – ekkis
@ekkis Conosci un'alternativa? – k0pernikus
$("*").css("cursor", "progress")
funzionerà non importa dove sulla pagina che si sta puntando. In questo modo non devi spostare il cursore per vederlo attivato.
bello ma non funziona in Chrome (http://code.google.com/p/chromium/issues/detail?id=26723) –
funziona in cromo ora – Bryan
yikes! quell'approccio è difettoso. cancella le assegnazioni del cursore a tutto ciò che si trova sulla pagina. – commonpike
penso che il migliore è quello di istituire in file css
body.wait *, body.wait {
cursor:wait !important;
}
e aggiungere/rimuovere classe di attesa in corpo
questo metodo sovrascrive tutti i cursori di input, link ecc
Mi piace l'approccio ma non ha funzionato su IE 9. L'approccio di montagna di $ ('*'). Css ('cursor', ...) 'ha funzionato anche se – ekkis
yikes! quell'approccio è difettoso. cancella le assegnazioni del cursore a qualsiasi cosa nella pagina – ekkis
Questa è in realtà la migliore soluzione per browser incrociati: testata. dopo aver rimosso la classe wait, il CSS tornerà a cascata a ciò che il cursore è stato impostato senza impostarlo come altre soluzioni. Thx Marmot. @ekkis dovresti testarlo di nuovo. funziona in IE9. –
Per esempio, se desideri mostrare un'immagine più grande al passaggio del mouse su una miniatura
//Hovered image
$("a.preview").hover(function(e) {
var aprev = this;
//Show progress cursor while loading image
$(aprev).css("cursor", "progress");
//#imgpreview is the <div> to be loaded on hover
$("#imgpreview").load(function() {
$(aprev).css("cursor", "default");
});
}
A cle approccio di JQuery, anche se non necessariamente efficiente è quello di aggiungere e rimuovere una classe occupata a tutti gli oggetti.
Si noti che, non tutti i browser (ad esempio Firefox) assumere un'altezza di 100% per l'oggetto visualizzabile più esterno, in modo che il cursore di occupato otterrà visualizzata solo sulla parte dello schermo
<head runat="server">
<title></title>
<style type="text/css">
.busy
{
cursor: wait !important;
}
</style>
<script type="text/javascript" src="scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
//<![CDATA[
$(function() {
$("#btnToggleWait").click(function (e) {
if ($(e.target).hasClass("busy")) {
$("*").removeClass("busy");
}
else {
$("*").addClass("busy");
}
e.preventDefault();
e.stopPropagation();
return false;
});
});
//]]>
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<button id="btnToggleWait">
Toggle Wait</button>
</div>
</form>
</body>
credo davvero che si tratta di una soluzione migliore di utilizzare solo una classe nell'elemento corpo
$('body').addClass('cursorProgress');
E quando si desidera mantenere come era prima solo:
$('body').removeClass('cursorProgress');
e in voi CSS file di mettere qualcosa di simile:
body.cursorProgress {
cursor: progress;
}
Quindi, con questa soluzione che non abbiano la prevalenza le impostazioni predefinite o le modifiche apportate sugli stili del cursore, e il secondo vantaggio è che si ha la possibilità di aggiungere l'importante nel tuo css.
body.cursorProgress {
cursor: progress !important;
}
Dai un'occhiata alla mia soluzione, che copre tutti gli elementi, non solo il corpo tag:. https://stackoverflow.com/a/26183551/1895428
- 1. cambia cursore durante il caricamento della pagina
- 2. RequireJS non attende il caricamento del modulo?
- 3. Hide jQuery Accordion durante il caricamento
- 4. jQuery mostra "caricamento" durante il funzionamento lento
- 5. Ajax/jQuery - Carica il contenuto della pagina web in un div durante il caricamento della pagina?
- 6. Java WebDriver attende il caricamento della pagina
- 7. Segnaposto sfondo/immagine mentre si attende il caricamento completo dell'immagine?
- 8. Pagina bianca durante il caricamento durante l'utilizzo di jQuery Mobile
- 9. div vicino cursore onclick jQuery
- 10. Modifica del cursore durante il trascinamento
- 11. Il selenio attende il caricamento del contenuto Ajax - approccio universale
- 12. Caricamento HTML in div - problema insolito
- 13. L'app ng attende il documento.ready?
- 14. Come visualizzare Div durante il caricamento con Pace.JS
- 15. Il cursore si sposta all'inizio del tag di codice durante l'aggiornamento di html in esso
- 16. $ _FILES vuota durante il caricamento
- 17. Il selenio attende il download?
- 18. Come impostare il cursore all'interno della casella di testo dopo il caricamento della pagina con jquery
- 19. caricamento della pagina html all'interno div
- 20. Blocca il cursore del mouse durante il trascinamento in Chrome
- 21. Il selenio attende il completamento di JavaScript?
- 22. Come cambiare l'icona del cursore durante il trascinamento in HTML5?
- 23. jQuery caricamento pagina HTML completo con spinner
- 24. Il cursore di caricamento del mouse JQuery BlockUI non torna ai valori predefiniti in Google Chrome
- 25. "errore durante il caricamento manipolatore"
- 26. Un modo per sfumare in background durante il caricamento?
- 27. Scheda Angularjs Caricamento spinner durante il rendering
- 28. Errore durante il caricamento di rJava
- 29. - Miglioramento durante il caricamento nell'archivio di Azure
- 30. ProgessBar Android durante il caricamento di WebView
Per creare effettivamente la gif di caricamento, controlla http://www.ajaxload.info/ dove puoi personalizzarne uno e salvarlo. – Darwyn