8

非表示のテーブル行を表示するためにjQuery slideToggleを使用していますが、表示スタイルをブロックに設定しているため、テーブル行を表示する必要があります。これを達成する方法はありますか?

前もって感謝します

4

6 に答える 6

5

この問題の解決策を見つけました-ディスプレイがブロックに設定されているかどうか(要素が表示されるように切り替えられている場合)、その場合は目的のディスプレイタイプに設定されているかどうかを確認します。

$('a.btn').on('click', function() {
    $('div.myDiv').slideToggle(200, function() {
        if ($(this).css('display') == 'block') $(this).css('display', 'table-row'); // enter desired display type
    });
});
于 2013-02-28T17:11:26.160 に答える
2

コールバックを使用してこれを変更できます

$('#tableRowId').slideToggle( function(){
   $(this).css('display', 'table-row');
});
于 2009-08-12T13:44:14.210 に答える
0

これは既知のバグです(これもここにあります)。jQueryを使用しslideToggleます。slideToggle表示スタイルを適切に維持するために使用する方法はありません。アニメーションの完了時にコールバックを使用して表示スタイルを適用できますが、それでは目的の効果が得られない場合があります。

于 2009-08-12T13:47:02.693 に答える
0

このコードをコールバック関数に追加するだけです

$(this).css('display','');

于 2010-01-23T14:00:05.823 に答える