クロムのこのコードは順番に起こりますが、サファリで起こります。同じことが起こり、アニメーションを表示しないでください(サファリでも同じことを示します)クロムとサファリでjavascriptがどのように起こるか
答えて
window.onload = function() {
$(window).on("click", ".small1", function() {
me = this;
setTimeout(function() {
$(me).addClass("big");
}, 1);
window.open("http://google.com", "_self");
});
のsetTimeoutは、パラメータとしてミリ秒を要するとしない秒数here、のsetTimeout約セクション
のsetTimeout()読み取り:関数を呼び出すか、指定されたミリ秒数後に式を評価
...さらに、window.open(..
がタイムアウトの終了後に発生するようにするには、setTimeout
の内部にも入れなければなりません。
タイムアウトは、setTimeout
内の機能にのみ有効です。 setTimeout
ステートメントの後のものはすべて非同期に実行されるため、setTimeout
内の関数が起動/終了する前にwindow.open
が実行されます。
例えば、以下のようにタイムアウトを1秒に設定し、タイムアウトが切れた後にクラスを変更してウィンドウを開く必要があります。以下
window.onload = function() {
$(window).on("click", ".small1", function() {
me = this;
$(me).addClass("big"); // First gets big, considering that the css has the desired effect in Safari.
setTimeout(function() {
window.open("http://google.com", "_self"); // Executes now after timeout finishes.
}, 1000); // Timeout of one second.
});
サンプルスニペット:
$(".small").on("click", function() {
me = this;
$(me).addClass("big");
setTimeout(function(){
window.open("http://google.com", "_self");},1000);
});
.big {
font-size: 150%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="small">myLink</div>
私の目標は、div要素が大きくなってから開いて にリンクすることですが、これはchromeでのみ起こります。サファリはこれをしてリンクを開きません。 – Arash
あなたのクラスを適用してもサファリをチェックインしないと、クリックした '' .small1 ''オブジェクトに何らかの影響があります。その後、' setTimeout'から 'addClass'を移動して' window.open '' setTimeout'の中で...また、あなたのCSSは、あなたがsafariのクラスを追加しようとしている要素には何の影響も与えません。 –
私の問題を解決していただきありがとうございます:) – Arash
- 1. 体内のサファリとクロムのjavascript- window.open?
- 2. レポートビューアーSP 1とクロム/サファリ
- 3. Firefox(クロム+サファリで動作)+マイヤーズリセット
- 4. ボックスシャドウがサファリとクロムの両方で同じに見えない
- 5. サファリとクロム、回転したテキストの位置はひよこになります
- 6. クロムとサファリで印刷幅が異なる
- 7. この選択タグを作成するには、サファリ用のクロムのように見えますか?
- 8. JavaScriptがサファリ(MacとiOSの)
- 9. サファリ、クロム、IEでオーバーフローするCSS 6
- 10. 入力はfirefox/IEには行かないが、クロム/サファリで行う
- 11. どのようにクロム
- 12. クロムとサファリでjQueryコードが機能しない
- 13. クロムとサファリで照会キーアップトリガーが機能しない
- 14. クロムとサファリでjQueryのアンロードが機能しないのはなぜですか?
- 15. クロムとサファリに画像が表示されない
- 16. クロムとサファリのスペースと幅を変更する
- 17. location.hashはクロムとサファリで1回のみ有効です
- 18. どのように私はクロムのセレクターで要素を得ることができますか?
- 19. サファリ、クロム、Firefoxの色の違い
- 20. セレンはどのようにvb.netで隠されたクロムを開始することができますか?
- 21. ホームページスライダー私がホームページに1つのページのスライダーを実装しようとしていますクロムやサファリ
- 22. css3の変換がサファリとクロムで異なって表示される
- 23. JavascriptのSDK接続()関数は、クロム、ここで例の後に私のコードをモデル化しようとする
- 24. Eclipseでこのようなことが起こるのはなぜですか?
- 25. Javascript:どのようにポップアップを閉じることができますか?
- 26. brサファリとクロムを残しているラインの高さ
- 27. どのように私はjavascriptの で確認することができますどのようにFacebookの
- 28. Javascript SVGサイズ変更作業はクロムではなくサファリではない
- 29. クロムとサファリのクローズ不可能なリンクとボタン
- 30. なぜクロム(と多分サファリ)だけがトランジション(高さ、幅)でうまくいくのですか?
1は、ここにミリ秒を意味していない二...多分あなたは...ちょうど疑問に思っ秒 '1000 'か何かをしたいです!そして、あなたがtimeoutの後に 'window.open'を望むなら、setTimeoutの' function 'の中にそれを入れておく必要があります... –
'setTimeout'はミリ秒単位で、' 1000ms = 1s' 。最初に修正するか、遅れがある場合は気付かないでしょう。 – Oen44
私の問題は、私のprobが最初に実行の順番が大きい時ではなく、遅延が1msしかないので、 – Arash