Die Herausforderung, die ich habe, ist die Erstellung einer Cordova App, die jQuery Mobile verwendet und ich verwende eine einzelne Seite App-Ansatz für eine Menge der Funktionalität.jquery mobile same page app mit loader
Wenn ich also eine Seite auswähle, beziehe ich diese Seite dynamisch mit Inhalt von einem AJAX-Aufruf. Die Seite ist jedoch bereits geöffnet und leer, bis der aJax-Aufruf zurückgegeben wird. Wie kann ich einen Ladebildschirm anlegen, bis der aJax zurückkehrt?
Siehe Beispielcode unten.
#loading-img {
background: url(http://preloaders.net/preloaders/360/Velocity.gif) center center no-repeat;
height: 100%;
z-index: 20;
}
.overlay {
background: #e9e9e9;
display: none;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
opacity: 0.5;
}
DER CSS
<a href="#profilepageself" class="leavingChatPage" id="goToProfile" >Profile</a>
Der Link für meine Seite
$("#goToProfile").on("click",function(event){
$(".overlay").show();
console.log("going to profile");
});
Ich stelle mir die oben JS auslösen Laden würde, wenn der Link angeklickt wird und würde alles verwischen.
$.get(url, function(data) {
$.each(data.items, function (index, event) {
console.log('founda practice %o',event);
//create my html
..........
});
$(".overlay").hide();
});
Dann, sobald der AJax zurückgegeben wurde, würde ich es verstecken.
Dies scheint überhaupt nicht zu funktionieren. Nicht sicher warum.
es ist etwas schwer zu erraten, ob dies ein Problem Ihres Ankerlinks oder des CSS ist. Könnten Sie eine Geige mit einer getrimmten Version Ihres Markups erstellen? Übrigens sollten Sie Ihren Spinner in eine lokale Datei kopieren, nicht von http. – deblocker