J'ai l'appel Ajax et je voudrais utiliser ajax-loader.gif
pour montrer le processus de chargement. J'ai déjà l'élément html span que j'utilise pour afficher les éléments sur l'écran. Je voudrais ajouter le chargeur en classe css. Une fois ajax démarré je voudrais pointer vers l'élément html et ajouter la classe en utilisant JQuery
, une fois que ajax est fait, je vais supprimer la classe et cacher l'élément. Voici le code que j'ai essayé d'utiliser mais rien montré à l'écran:Utiliser la classe css pour définir le chargeur ajax?
CSS:
.loader{
background-image: url('Images/ajax-loader.gif');
height: 100px;
width: 100%;
}
HTML:
<span>
<span class="progressMsg" id="progressMsg"></span>
</span>
JQuery:
$('.progressMsg').addClass("loader").show();
$.ajax({
type: 'POST',
url: 'my URL',
data: myForm
}).done(function(obj){
if(obj.STATUS === 200){
$('.progressMsg').removeClass("loader").hide();
return true;
}else{
$('.progressMsg').addClass('alert-box error').show().html('Error!');
setTimeout(function(){ $('.progressMsg').removeClass("alert-box error").hide().html(""); }, 5000);
return false;
}
}).fail(function(jqXHR, textStatus, errorThrown){
alert(errorThrown);
});
Assurez-vous que '.progressMsg' a des dimensions réelles, et n'est pas 0 par 0 pixels – LuudJacobs
Oui le problème est que vos conteneurs ne sont pas la hauteur et la largeur définie. Définissez ces propriétés et vous verrez votre image. – Kyle