如何使用javascript/jquery在less css中更改主题颜色

use*_*077 6 javascript jquery html5 css3 less

我用下面的css来改变不同的主题颜色

@lightRed:   #fdd;
@lightGreen: #dfd;
@lightBlue:  #ddf;

@defaultThemeColor:@lightBlue;

#header{
.wrapper();
width:@defaultWidth;
height:80px;
margin-bottom:20px;
background:@defaultThemeColor;
}

#menu{
background:@defaultThemeColor;
}
Run Code Online (Sandbox Code Playgroud)

而html如下:

<div id="swatch">
<ul>
<li><a href="">theme1</a></li>
<li><a href="">theme2</a></li>
<li><a href="">theme3</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

当点击theme1时,应加载@lightRed主题,对于theme2 @lightBlue和对于theme3 @lightGreen

请让我知道我的javascript/jquery应该如何更改主题颜色点击

Mar*_*jak 5

你可以尝试使用less.js函数,如:

less.refreshStyles()
Run Code Online (Sandbox Code Playgroud)

要么

less.modifyVars()
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读更多内容:动态改变较少的变量

在事件上使用jQuerymodifyVars这一行.click可能会有效:

$('.theme_option').click(function(event){
    event.preventDefault();
    less.modifyVars({
        '@defaultThemeColor': $(this).attr('data-theme')
    });
});
Run Code Online (Sandbox Code Playgroud)


Max*_*x25 1

使用单击事件更改背景颜色

这是使用 on Change 更改背景颜色的示例。请查看[示例][http://jsfiddle.net/6YVes/]