2012-01-03 3 views
1

Я создал версию простого сетчатого решения css (http://simplegrid.info/). Теперь я могу с радостью свернуть собственные размеры сетки с помощью сценария сервера от LESS (lessc). . для меняLESS - заданные переменные на стороне клиента

для демонстрационных целей я хотел бы создать HTML-страницу, где я могу поставить размер Css сетки в текстовом поле и сетка будет изменяться динамически Начало демо здесь:.

http://jsfiddle.net/8QHNc/

Поэтому вместо того, чтобы изменять @layoutwidth: 720px; в <style rel="stylesheet" type="text/less" > раздел Я хотел бы передать эти переменные интерпретатору LESS.

Можно ли это сделать с использованием на стороне клиента меньше? Могу ли я определить глобальные переменные или передать их как параметры less.js каким-то образом?

Я знаю, что я мог бы сделать это без использования LESS (предпочтительно с JQuery о STH..) - но я понял, так как он уже есть ...

ответ

2

Я не знаю, если анализатор принимает любые аргументы, но почему вы отказываетесь от использования встроенной оценки javascript, например добавив что-то вроде:

@layoutwidth: `document.getElementById("inputLayoutWidth") + "px"`; 

в ваш менее стильный лист. Или, используя JQuery, как вы предложили:

@layoutwidth: `$("#inputLayoutWidth").val() + "px"`; 

при использовании поля ввода, как

<input type="text" id="inputLayoutWidth" value="720" /> 

и вызывать разбора каждый раз, когда поле ввода изменяется.

+0

Спасибо за ответ - я не отказываюсь ... Я на самом деле играл со сборкой в ​​оценке JS. Проблема, с которой я столкнулся, - это то, что значения игнорируются ... См .: http://jsfiddle.net/PmDD3/. Кажется, что значение 100px всегда сбегает от "". Firebug показывает: .box: after {content: "100px";} - но ширина элемента .box всегда игнорируется или не действительна для браузера. – madflow

+0

Извините за поздний повтор, был занят. Я забыл «~» для вывода значения напрямую, теперь он фиксирован и занимает точно указанную ширину в поле ввода. см. [link] (http://jsfiddle.net/PmDD3/8/) Однако я не знаю, как принудительно перенаправить меньшее количество клиентских страниц скрипта (без перезагрузки всей страницы). – burnedikt

+0

Спасибо за ваш ответ! Меня устраивает...! – madflow

1

Если вы используете версию 3.x менее CSS, чем вы можете установить их в javascript-коде.

less.modifyVars({ 
    '@buttonFace': '#5B83AD', 
    '@buttonText': '#D9EEF2' 
}); 

Я не знаю, существует ли этот метод в более старой версии.

Смежные вопросы