これは私にとってとても難しいようで、ここでは簡単なものを見落としていると思います。 見つけてもらえますか?click()関数内のアニメーションキューからtrue/falseを返すにはどうすればよいですか?
基本的には、状況がこの (名前は重要ではありません変数は大文字で命名されている)である。
$('a').filter('somecriteria').each(function() {
var self = $(this);
self.click(function() {
B.animate({ something: somevalue }, { duration: "fast", complete: function(){
return true; // <--- see notes below
}
});
return false;
});
});
注: どのように私はこれはから送信されたreturn
ことreturn
させることができますclick()
のように、animate()が完全に完了した後にのみ新しいページに移動します(実際のコードでは、3つのanimate()が連鎖しています)。 アニメーションが途切れ、新しいページが途中で読み込まれるため、これを行う必要があります。アニメーションは、アニメーションが実際に終了するまで、false(false)がclick()から送信されたときに完全な効果が得られます。
リンクのhref
属性をキャプチャし、return true
の代わりにwindow.location = capturedlink
を実行しようとしました。 これはうまくいきますが、可能であれば、セキュリティ上の理由により場所の変更が無効になっている人がいるため、可能な場合は避けたいと考えています。
アニメーションの途中で新しいURLにjQueryを変更する別の方法がありますか?
ありがとう、この質問をチェックしてください。
アンドレは
私は、これは理論的には、ステータスクラスを仕事とaddindべきであると見ることができることはその巧妙なトリックです私は早期に考えることができませんでした。しかし、どうにかしてclick()イベントが発生しません。私は自分自身が本当にA要素であることを記録することで確かめました。答える時間をとってくれてありがとう。とても有難い! :) – andreb
もしself.click(); did not try self.trigger( 'クリック');私はそれが違いを生むべきだとは思わない。私はこれを自分自身で試してみて、何が起きているのかを見てみよう... –
それは、自己が間違った種類のオブジェクトであることと関係していると思います...それはただの推測です。私は完全なソースを投稿することができますが、ページがまだ生きていないので、許可されていません。 'console.debug("%o "、self)'はFirebugで '' a [index.html] 'を返します。だから、jQueryのセットはclick()のために十分なはずです... – andreb