は私が盲目たり、何のパラメータ、オプションまたは何のためのアニメーションを無効にすることはありません必要はありません切り替えますtoggle()経由ではなく、私はslideToggle、fadeToggle、または通常のトグルを使用するすべてのトグルはアニメーションを使用しています。jQueryのにはアニメーションが
「削除」するにはどうすればよいですか?
は私が盲目たり、何のパラメータ、オプションまたは何のためのアニメーションを無効にすることはありません必要はありません切り替えますtoggle()経由ではなく、私はslideToggle、fadeToggle、または通常のトグルを使用するすべてのトグルはアニメーションを使用しています。jQueryのにはアニメーションが
「削除」するにはどうすればよいですか?
ちょうど1
toggle(1); // animation
toggle(true); // no animation.
これは私のためには機能しませんでした。トグル(true)を設定すると、コンテンツを再び非表示にすることしかできないことを意味しました。 – Will
あなたは常にあなた自身のトグル機能を提供することができます:
$.fn.quicktoggle = function() {
this.each(function() {
var $this = $(this);
if ($this.is(':visible')) {
$this.hide();
} else {
$this.show();
}
});
return this;
};
最後に余分な ')'があると思います – thecodeparadox
@thecodeparadox oopsie - well spotted。 – Alnitak
この関数をお寄せいただきありがとうございます – ggzone
Aもう少し「課す」メソッドは、あなたが簡単にあなたのコード内のすべてのインスタンスを置き換えたい場合は、関数をオーバーライドすることです。
$.fn.slideToggle = function(duration, callback) {
duration = 0;
callback = callback || function(){};
this.toggle(duration, callback);
};
$.fn.fadeToggle = function(duration, callback) {
duration = 0;
callback = callback || function(){};
this.toggle(duration, callback);
};
Hmmm ...この方法はduration引数とコールバックに問題があります...秒で編集します –
0に適切なコールバックと強制継続時間で編集 –
私は '$をラップする必要はありません) 'jQueryプラグインの中にあります。 – Alnitak
ただ、引数なしでトグルを使用し、それはすぐにする必要があります。ドキュメントから
:なしパラメータで
、.toggle()メソッドは、単純に要素の可視性 を切り替え:
$('.target').toggle();
トグル()は引数がない場合、即時であります供給される。
slideToggle()およびfadeToggle()は、アニメーションにデフォルト値を使用して、それらを即時にし、値 '0'を渡します。
これらすべてが同じことをやるだけの要素を示し、非表示にします。
$('button').on('click', function() {
ToggleElement.toggle();
});
$('button').on('click', function() {
ToggleElement.slideToggle(0);
});
$('button').on('click', function() {
ToggleElement.fadeToggle(0);
});
敗北のその種点として、アニメーションせずに下の二つを使用する理由はしかし、ありません。
if/else文でJavaScriptのネイティブelement.style.display = 'none'/'block'
を使用するのが少し速くなります。
だけ
jQuery.fx.off = true;
限り、あなたは「ドンとしてあなたのコード – Curt
を投稿してくださいしないように、真の解決)(トグルする確認パラメータを作る効果をオフにトグルする時間を指定すると、即時になるはずです。あなたのコードを教えてください。 – j08691
私は要素上で.toggle()を持つ単純なクリックハンドラを使用します。なぜ下の票? – ggzone