Tengo un archivo MENOS que tiene algunas variables:Pasando variables MENOS tener JavaScript
@font-size: 100%;
@label-align: left;
@field-width: 230px;
@icon-size: 16px;
@icon-padding: 8px;
En mi script JS Necesito saber la suma de algunos valores iniciales que el usuario haya establecidos en el archivo MENOS. Los valores de css calculados pueden cambiar según el tamaño del contenedor principal. Esos valores también cambian en la primera carga, dependiendo del tamaño de la ventana.
Algunos elementos también se crean dinámicamente por lo que es realmente difícil obtener los valores iniciales correctos en JS porque tendría que declarar variables en diferentes puntos en el código y en diferentes ámbitos.
Una idea que tuve es declarar un objeto de "alto alcance" con algunas variables ficticias y asignar el valor a la variable tan pronto como agregué el elemento al DOM pero resultó ser complicado y redundante.
Después de muchas horas se me ocurrió esta idea que actualmente funciona, es un poco hacky pero funciona.
MENOS:
.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();
¿Hay alguna otra manera que puedo hacer esto?
Nota: para hacer frente a [IE bug 955703] (https://connect.microsoft.com/IE/ feedback/details/955703) tienes que envolver 'sRule = oRules [j] .cssText' en un' try/catch-Block'. Si bien esto se implementa correctamente en su esencia, no está en el violín. – Aides