ここに私の問題が何であるかの小さなデモンストレーションがあります:
赤td
を一定の幅にサイズ変更した後、以前の状態に戻したいと思います。25% を適用しても、他td
の s のように動的に調整されることはありません。ブラック ボックスのサイズが変化したときに確認できるように、25% でスタックするだけです。
だから私は私の質問は次のとおりだと思います:
td
手動で設定する前の の幅は?- どうすればリセットできますか?
何か案は?フィードバックをお寄せいただきありがとうございます!
ここに私の問題が何であるかの小さなデモンストレーションがあります:
赤td
を一定の幅にサイズ変更した後、以前の状態に戻したいと思います。25% を適用しても、他td
の s のように動的に調整されることはありません。ブラック ボックスのサイズが変化したときに確認できるように、25% でスタックするだけです。
だから私は私の質問は次のとおりだと思います:
td
手動で設定する前の の幅は?何か案は?フィードバックをお寄せいただきありがとうございます!
width:auto に設定するのはどうですか?
それはあなたが何を達成したいかによります。すべての tds を一度にデフォルトの幅にリセットする場合は、 を使用してwidth: auto
ください。ただし、そこでアニメーション化する場合は、もう少し複雑です。各列の幅を変数に保存してから、アニメーション化する必要があります。
jsFiddle から更新された例を次に示します: http://jsfiddle.net/k2Pqw/5/
$(document).ready(function () {
var blaW = $('#bla').width(), beW = $('#be').width();
$("#bla").animate({ width: "500px" }, 1000, function () {})
.animate({width: blaW+'px'}, 1000, function () {});
$("#be").delay(2500)
.animate({ width: "500px" }, 1000, function () {})
.animate({width: beW+'px' }, 1000, function () {});
});
そしてhtml:
<table id="myTable">
<tr>
<td style="background-color:Aqua;">salamander</td>
<td style="background-color:Red;" id="bla">s</td>
<td style="background-color:Black;" id="be">s</td>
<td style="background-color:Green;">s</td>
</tr>
</table>
width
JavaScript(またはjQuery、それは単なるファンシーJSであるため)を使用して(だけでなく)スタイルを設定した場合は、スタイルを""
(空の文字列)に設定することでリセットできます。これにより、基本的にそのスタイルプロパティが要素のインラインスタイルから削除され、スタイルシートが再び引き継ぐようになります。
に設定しましたauto
。Chrome の Developer Tools または Firebug の「Default Styles」の下に表示されます。
特定の幅を設定するクラスを追加および削除できないでしょうか。クラスが削除されると、% 幅に戻ります。