私はjavascriptでこの関数を持っています:
function loadPage (url){
showLoadPageGif(); // visibility On
document.location.href = getPath + "/" + url ;
}
この機能を使用すると、GIF画像が画面に表示されますが、機能しません。誰かが以前にこの問題で戦ったことがありますか?thnx
私はjavascriptでこの関数を持っています:
function loadPage (url){
showLoadPageGif(); // visibility On
document.location.href = getPath + "/" + url ;
}
この機能を使用すると、GIF画像が画面に表示されますが、機能しません。誰かが以前にこの問題で戦ったことがありますか?thnx
私は最近、疑似要素の背景画像としてアニメーション SVG を使用してこの問題に遭遇しました。window.location = url;
他のすべての CSS アニメーションとホバーがまだ機能しているのは奇妙でしたが、SVG コグは動かなくなりました。
いくつか遊んだ後、変更する代わりにwindow.location
GET フォームを送信すると、アニメーションが引き続き実行されることがわかりました。
var url;
//load & setup loading animation
//then generate and submit form with a slight delay
setTimeout(function(){
var new_form;
new_form = document.createElement('form');
new_form.method = 'GET';
new_form.action = url;
document.body.appendChild(new_form);
new_form.submit();
}, 100)
Safari 5.1、Firefox 24、Chrome 32 でテスト済み
「GIFアニメーションが止まる」という意味だと思います。
これは正しい動作です。新しいページに移動すると、古いページのすべてのリソースが解放されます。これにはもちろん、GIF 自体も含まれます。
を割り当てたときにブラウザが空白のページをレンダリングする時間を無駄にしないため、これが起こっていることを「見る」ことはありませんlocation.href
。
必要なことは、AJAX を使用して新しいページを要求し、成功ハンドラーで DOM 全体を新しいページに置き換えることです。
IE6 にはバグがあり、AJAX リクエストを開始するとアニメーションが停止します。これを修正するにsrc
は、画像の属性を再度割り当てて (つまりimg.src = img.src;
)、再起動します。
どのブラウザを使用していますか? IEを使用している場合は、これを行うだけで同じことを1回行う必要がありました。
var loadingFigure = $('#myImage');
var html = loadingFigure.html();
window.location.href = 'myImage';
loadingFigure.html(html);
Firefox はより複雑なため、iframe を使用して次のようにする必要があります。
<iframe id="myIframe" src="/images/busy.gif" scrolling="no" frameborder="0"></iframe>
$('#myIframe').attr('src', '/images/busy.gif');
window.location.href = 'mylocation'
$('#myIframe').attr('src', '/images/busy.gif');