У меня есть МЕНЬШЕ файл, который имеет некоторые переменные:Передача МЕНЬШЕ переменной в JavaScript
@font-size: 100%;
@label-align: left;
@field-width: 230px;
@icon-size: 16px;
@icon-padding: 8px;
В моей JS скрипте мне нужно знать сумму некоторых начальных значений пользователь установил в МЕНЬШЕ файле. Вычисленные значения css могут меняться в соответствии с размером родительского контейнера. Эти значения также изменяются при первой загрузке, в зависимости от размера окна.
Некоторые элементы также динамически создаются, поэтому очень сложно получить правильные начальные значения в JS, потому что мне придется объявлять переменные в разных точках кода и в разных областях.
Одна из моих идей заключалась в том, чтобы объявить объект с высокой областью видимости с некоторыми фиктивными переменными и присвоить значение переменной, как только я добавлю элемент в 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();
Есть ли другой способ, которым я могу это сделать?
Примечания: для решения [IE ошибка 955703] (https://connect.microsoft.com/IE/ feedback/details/955703), вы должны обернуть 'sRule = oRules [j] .cssText' в' try/catch-Block'. Хотя это правильно реализовано в вашей сути, это не в скрипке. – Aides