私が抱えている課題は、jQueryモバイルを使用するCordovaアプリケーションを構築しており、多くの機能を単一のページのアプリのアプローチで使用しています。jquery mobile同じページのローダー付アプリ
ページを選択すると、そのページにaJaxコールのコンテンツが動的に取り込まれます。ただし、aJax呼び出しが返されるまで、ページはすでに開かれています。どのようにaJaxが返るまで、ローディング画面を置くことができますか?
下記のサンプルコードを参照してください。
#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;
}
CSS
<a href="#profilepageself" class="leavingChatPage" id="goToProfile" >Profile</a>
リンク
$("#goToProfile").on("click",function(event){
$(".overlay").show();
console.log("going to profile");
});
私のページをロードするための私は、上記のJSは、リンクをクリックしたときにトリガーすると、すべてをぼかし想像。
$.get(url, function(data) {
$.each(data.items, function (index, event) {
console.log('founda practice %o',event);
//create my html
..........
});
$(".overlay").hide();
});
その後、aJaxが返されたら私はそれを隠してしまいます。
これはまったく動作しないようです。理由は分かりません。
あなたが.always
コールバックを使用することができます
これがあなたのアンカーリンクまたはCSSの問題であるかどうかを推測するのはやや難しいです。あなたのマークアップのトリミングバージョンでフィドルを作成できますか?ところで、スピナーをhttpからではなく、ローカルファイルにコピーしてください。 – deblocker