4

ここに私の問題が何であるかの小さなデモンストレーションがあります:

http://jsfiddle.net/k2Pqw/4/

tdを一定の幅にサイズ変更した後、以前の状態に戻したいと思います。25% を適用しても、他tdの s のように動的に調整されることはありません。ブラック ボックスのサイズが変化したときに確認できるように、25% でスタックするだけです。

だから私は私の質問は次のとおりだと思います:

  1. td手動で設定する前の の幅は?
  2. どうすればリセットできますか?

何か案は?フィードバックをお寄せいただきありがとうございます!

4

5 に答える 5

3

width:auto に設定するのはどうですか?

于 2012-07-28T21:37:51.967 に答える
1

それはあなたが何を達成したいかによります。すべての 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>
于 2012-07-28T21:43:02.717 に答える
0

widthJavaScript(またはjQuery、それは単なるファンシーJSであるため)を使用して(だけでなく)スタイルを設定した場合は、スタイルを""(空の文字列)に設定することでリセットできます。これにより、基本的にそのスタイルプロパティが要素のインラインスタイルから削除され、スタイルシートが再び引き継ぐようになります。

于 2012-07-28T21:51:10.353 に答える
0

に設定しましたauto。Chrome の Developer Tools または Firebug の「Default Styles」の下に表示されます。

于 2012-07-28T21:40:19.680 に答える
0

特定の幅を設定するクラスを追加および削除できないでしょうか。クラスが削除されると、% 幅に戻ります。

于 2012-07-28T21:42:29.777 に答える