Fer*_*bin 30 twitter-bootstrap bootswatch
我正在使用bootstrap作为我正在开发的网站的界面.我还计划将bootswatch主题集成到我的网站.我创建了一个包含bootswatch不同主题的下拉菜单.我的问题是当我点击下拉菜单中的一个主题时如何切换主题?
Kev*_*Pei 59
小提琴:http ://jsfiddle.net/82AsF/(单击导航栏中的主题下拉列表)为
链接提供类theme-link和data-theme主题名称的值,如下所示:
<a href="#" data-theme="amelia" class="theme-link">Amelia</a>
Run Code Online (Sandbox Code Playgroud)
然后,在全局变量中定义您的主题,如下所示:
var themes = {
"default": "//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css",
"amelia" : "//bootswatch.com/amelia/bootstrap.min.css",
"cerulean" : "//bootswatch.com/cerulean/bootstrap.min.css",
"cosmo" : "//bootswatch.com/cosmo/bootstrap.min.css",
"cyborg" : "//bootswatch.com/cyborg/bootstrap.min.css",
"flatly" : "//bootswatch.com/flatly/bootstrap.min.css",
"journal" : "//bootswatch.com/journal/bootstrap.min.css",
"readable" : "//bootswatch.com/readable/bootstrap.min.css",
"simplex" : "//bootswatch.com/simplex/bootstrap.min.css",
"slate" : "//bootswatch.com/slate/bootstrap.min.css",
"spacelab" : "//bootswatch.com/spacelab/bootstrap.min.css",
"united" : "//bootswatch.com/united/bootstrap.min.css"
}
Run Code Online (Sandbox Code Playgroud)
(当你这样做时,请在你自己的服务器上托管这些bootswatch css文件 - 我只是在进行热链接,因为我手头没有服务器)
然后,使用以下jQuery代码:
$(function(){
var themesheet = $('<link href="'+themes['default']+'" rel="stylesheet" />');
themesheet.appendTo('head');
$('.theme-link').click(function(){
var themeurl = themes[$(this).attr('data-theme')];
themesheet.attr('href',themeurl);
});
});
Run Code Online (Sandbox Code Playgroud)