私のサイトは、ページを表示する準備ができる前に、集中的な作業(他のサイトからのデータの取得)を行う必要があります。 何が起こるかは、ユーザーがリンクをクリックすると、回転ホイールのGIFが表示され、ページが読み込まれる準備ができたら表示されます。Safariで新しいページを読み込む直前にJquery show()が機能しない
これはサファリブラウザでは機能しません(ただしFirefoxの場合):ホイールが表示されません。
のjQueryコード:
$(function() {
$('.show-spinning').on('click', function(e) {
$(".spinning-wheel").show()
});
});
CSSコード:
.spinning-wheel {
display: none;
position: fixed;
top: 50%;
left: 50%;
width: 64px;
height: 64px;
background: url("../images/spinning.gif");
}
コンテナHTMLコード:
なしspinnignホイールwhithを待っているが、一方で、リンクをユーザーがクリックすると、現在のページが表示されたままです<div class="spinning-wheel"> </div>
コンテナの.show()をトリガーすると思われるリンクコード:
<a href="/otherpage" class="show-spinning">Link to other page</a>
これは私がして、たとえばテストするときに動作しない:
<a href="#" class="show-spinning">test</a>
リンクは.SHOW(その現実と別のページに送信するときのみだが)サファリで、何もしません。
サファリでこの作業を行うためのトリックや別の方法はありますか?
はかなりスマートに
hidden
クラスを削除し、あなたのスピナーにクラスを追加するが、それは動作しません:/ –が、それはCSSの問題だろうか?固定位置がサファリで異なって動作しているか、.show()がdisplay:blockを追加していません。 スピナーにクラスを追加している可能性があります。 .spinning-wheel.hidden { display:none; } 。スピニングホイール{ ディスプレイ:ブロック; } – Vincent
リンクがhref = "#" 'を持っているときにコード化されているように問題を除いて、これらのアイデアはすべて賢明かもしれません...つまり、ページのリダイレクトが干渉している必要があります。 –