-1
にトリガします。代わりに私は同様のslideToggle()
タイプのアニメーションを持っています。機能がトリガ以下の通りです:jqueryのトグルは()私はこの単純な機能を持っている、不要なアニメーション
function fixPanelHeight() {
var maxPanelHeight = 0;
$(".inner-menu-panel-containter").children(".menu-panel").each(function(){
var element = $(this);
element.css("height", "auto");
if (element.height() > maxPanelHeight) {
maxPanelHeight = element.height();
}
})
if (maxPanelHeight > 0) {
$(".inner-menu-panel-containter").children(".menu-panel").height(maxPanelHeight);
}
}
私は
$('.tools-dropdown-launch').click(function(e) {
e.preventDefault();
$('.tools-dropdown-content').toggle();
});
に第一の機能を変更しようと、期待どおりに動作します:私はアニメーションを持っていませんが(もちろん)機能がトリガされていません。
なぜこのようなことが起こりますか?
cssには高さの遷移はなく、slideToggle()
はjsファイルのどこにもありません。
これは
$('.tools-dropdown-content').slideToggle(0 , function() {
fixPanelHeight();
});
で解決されたが、私はこのクイックフィックスその後、より良いものを好むだろう。
完全なコールバック関数をjq [toggle()](http://api.jquery.com/toggle/)メソッドに渡すと、デフォルトの継続時間(400ms)を使用してアニメーションが呼び出されます。さて、あなたの期待される行動は何かが明確ではありませんか? 'toggle()'だけで何が問題になっていますか? –
私はtoggle()を使用していて、私の関数ではslideToggle()を使用していないので、アニメーションを持たないことを期待しています。これを避ける方法はありますか?私は表示をトグルする必要があります:特別な効果、トランジション、またはアニメーションなしの/ブロックなし – valerio0999
しかし、私はまだ '.toggle()'を使うことができませんか?アニメーションは使用しません。そして、それが同期しているので、あなたはちょうど '$( '。tools-dropdown-content').toggle();を使うことができます。 fixPanelHeight(); ' –