いくつかの変数を持つLESSファイルがあります:
@font-size: 100%;
@label-align: left;
@field-width: 230px;
@icon-size: 16px;
@icon-padding: 8px;
私の JS スクリプトでは、ユーザーが LESS ファイルに設定したいくつかの初期値の合計を知る必要があります。計算された css 値は、親コンテナーのサイズによって変わる場合があります。これらの値は、ウィンドウ サイズに応じて、最初の読み込み時にも変化します。
一部の要素も動的に作成されるため、JS で正しい初期値を取得するのが非常に難しくなります。これは、コード内のさまざまなポイントとさまざまなスコープで変数を宣言する必要があるためです。
私が持っていた 1 つのアイデアは、いくつかのダミー変数を使用して「高スコープ」オブジェクトを宣言し、要素を DOM に追加するとすぐに変数に値を割り当てることですが、面倒で冗長であることが判明しました。
何時間も経った後、私は現在機能しているこのアイデアを思いつきました。ちょっとハックですが機能します。
以下:
.less-vars {
width: @field-width + @error-width + @icon-size + (@icon-padding * 2);
}
JS :
var less_vars = $('<div class="less-vars" />').hide().appendTo('body').width();
$('.less-vars').remove();
これを行う他の方法はありますか?