2015-05-28 34 views
1

我有這些投入的一種形式:減CSS:得到一個函數的值在JavaScript或jQuery的

<input type="text" id="@gray-base" value="#000"> 
 
<input type="text" id="@gray-darker" value="lighten(@gray-base, 13.5%)">

我怎樣才能輸入ID的色彩值與@格雷黑暗? 我如何在瀏覽器中運行更少funciton?

+0

爲什麼你希望它是在.LESS以外設置與jquery.css飛?只是爲了規避內聯樣式? – longbow

+0

即時通訊工作的工具,允許修改較少的文件...我有這個較少的價值,我需要顯示這個少功能的結果 – prestarocket

+1

你將不得不從這個東西創建一個有效的少代碼,然後傳遞這個代碼編譯器然後用類似[this](https://github.com/less/less.js/issues/2597)的方式檢索變量的評估值。相當複雜(不包括瀏覽器版本的編譯器目前不支持插件,所以你需要更多的黑客),所以我寧願給這個功能和/或重新考慮我們的應用程序體系結構......(基本上Less是不意味着這種基於動態瀏覽器的價值操縱/使用情況...它主要是一個靜態的CSS編譯器)。 –

回答

1

參見:How to update variables in .less file dynamically using AngularJS

例子:

<form id="colorform"> 
 
<input type="text" id="gray-base" value="#000"> 
 
<input type="text" id="gray-darker" disabled value=""> 
 
<input type="submit"> 
 
</form>  
 
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script> 
 
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/less.js/2.3.1/less.min.js"></script> 
 
<script> 
 
    $('#colorform').submit(function(e) 
 
    { 
 
     less.render('s {color: lighten(' + $('#gray-base').val() + ', 13.5%);}') 
 
     .then(function(output) { 
 
      
 
      var regExp = /(#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}))/; 
 
      var matches = regExp.exec(output.css); 
 
      var lightcolor = matches[0]; 
 
      $('#gray-darker').val(lightcolor); 
 
      $('body').css('background-color',lightcolor); 
 
     }); 
 
     e.preventDefault(); 
 
    });   
 
</script>

+0

我也有字體大小的值,行高等var ...我找到了一個解決方案:我用僞元素(::之後)編寫css規則,並將少量變量的值作爲內容添加 – prestarocket

相關問題