jqueryで要素を表示しようとしています。要素が表示されたら、フォームを送信します。私は次のコードを持っています。
$("#form").submit(function(e) {
var self = this;
e.preventDefault();
$('#element').show({
complete: function() {
self.submit();
},
});
});
私が抱えている問題は、上記のコードが要素を表示するときにアニメーションを追加することです。要素を簡単に表示するのではなく、すぐに表示したい(つまり、アニメーションを表示しない)。期間オプションをに設定しようとしましたduration:1
が、これは望ましくない動作をしているようで、要素がまったく表示されません。easing
オプションをに設定してみましnull
たが、喜びもありません。
私は以下のコードも試しました(これにはアニメーションがないため):
$("#form").submit(function(e) {
var self = this;
e.preventDefault();
$('#element').show();
self.submit();
});
ただし、ここでの問題は、フォームが送信される前に要素が表示されないことです。
アニメーションなしで要素を表示し、要素が画面に表示されたら、フォームを要約する方法はありますか?
JQuery1.9.1の使用
アップデート:
数時間髪を引っ張った後、私が抱えていた問題はSafari6.0.3にあるようです。Safariは、スクリプトの次の行を実行する前に要素が表示されるのを待たないようです。他のすべてのブラウザはそうします。ほんの少しの時間遅延を設定するだけでも、この問題は解決するようです。