javascript - 使用 jQuery 更改 LESSCSS 变量

标签 javascript jquery html css less

是否可以通过某种方式更改 LESSCSS 变量,例如

@basecolor: #F90;

就是后面这样用的:

.myclass {
     color: darken(@basecolor, 10%);
 }

使用基于用户输入的 jQuery,如下所示:

$("#mybutton").click(function() {
    var color = $("#inputfield").val();
    //Some magic to change the LESS basecolor
});

我正在使用 less.js 即时编译 .less 文件。
提前致谢。

最佳答案

与其在 less 文件中动态改变值——这在客户端(又名 JavScript)是不可能的,不如尝试在 less 中创建多个变体(类似于主题),然后将自定义类应用于元素(body works好吧)。

例如,

[style.less]
@green: #00EE00;
@blue: #0000EE;

body {
  &.green { background:@green }
  &.blue { background:@blue }
}

[main.js]
$('#id').on('click', 'a.blue', function() {
  $('body').removeClass('green').addClass('blue')
}

关于javascript - 使用 jQuery 更改 LESSCSS 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13678800/

相关文章:

php - 使用 echo 输出 HTML 在 PHP 中被认为是不好的做法?

jquery - 如何在运行时从文本框中删除禁用的属性

JavaScript 转换器

javascript - 动态创建的元素上的事件绑定(bind)?

javascript - 延迟加载和依赖解析

javascript - 仅当有 2 个或更多段落时才在 1 段后插入按钮

php - 如何使用php在html表中显示MySQL数据库中的数据

javascript - 使用 Javascript/Jquery 滚动到页面上的特定位置

javascript - 无法 AppendChild - 尝试使一个方法在不同的类中附加另一个方法

javascript - 在按钮上单击显示单选按钮值在更改单选值时不起作用