PDA

View Full Version : [Ajax/Jquery] Z-index su loading-image


robertino_salemi
17-03-2014, 09:21
Salve a tutti,
sto utilizzando un semplicissimo script che mi permetta di visualizzare l'immagine di Loading su ogni chiamata Ajax.

Cosė ho scritto:
HTML:

<div id="loader">
<div id="loading-image"></div>
</div>


CSS:

#loader
{
display: none;
background-image: url(../images/ajax-loader.gif);
width:32px;
height: 32px;
position: fixed;
text-align:center;
z-index:9999;
overflow: auto;
}
#loading-image {
position: absolute;
z-index: 99999;
}


AJAX:

$.ajax
({
url: url,
type: 'POST',
data: {id: post},
success: function(data) {
jQuery("#result").html(data);
},
beforeSend: function () {
$('#loader').show().css({ 'z-index': 99999 });
},
complete: function () {
$('#loader').hide();
}
});


Funziona tutto bene, l'unico problema č lo z-index del div id="loader", viene settato automaticamente un z-index: -9999.

Come mai?

Avrei voluto usare JsFiddle, ma non ho saputo interpretare la chiama Ajax.
http://jsfiddle.net/ftG9V/1/

Grazie.

robertino_salemi
17-03-2014, 09:32
Risolto prima del previsto, scusatemi, c'č un altro JS con su Windows Ready al div id="loader" aggiungeva lo z-index a -9999.

Grazie! :)

OoZic
17-03-2014, 11:07
Potresti usare un approccio diverso (a me sembra pių semplice), evitando beforeSend ma semplicemente prima di fare la chiamata mostrare il loading e toglierlo a chiamata riuscita, no?

suppongo quella chiamata sia associata a un azione dell'utente, probabilmente un click no?

robertino_salemi
17-03-2014, 11:26
Si cerco, al click su un SUBMIT presente in un form scatta la chiamata.

Scritto cosė funziona bene, il problema riguarda lo z-index.

airon
17-03-2014, 13:47
Scusa ma i valori della posizione dove sono?

top, left per dire...

E poi scusa perchč ti avvali di due div? Dei quali "loading-image" completamente inutile e con css dubbio?

robertino_salemi
17-03-2014, 14:12
Scusa ma i valori della posizione dove sono?


Hai ragione, per quello ho usato un JS che mi fissa il DIV a centro pagina secondo la risoluzione del monitor, ma soprattutto anche durante il resize.

airon
17-03-2014, 14:25
Ah ok! :)