我已经设置了一个菜单来加载各种样式表(我不想编辑)。我想要做的是将css类的颜色设置为与navbar-inverse的背景颜色相同。
到目前为止,这是我的代码;
var themes = {
"default": "css/default.bootstrap.min.css",
"theme1": "css/theme1.bootstrap.min.css",
"theme2": "css/theme2.bootstrap.min.css",
"app": "css/app.css"
};
$(function () {
var themesheet = $('<link href="' + themes['default'] + '" rel="stylesheet" />');
themesheet.appendTo('head');
var theColorIs = $('.navbar-inverse').css("background-color");
$('.text-primary2').css('color', theColorIs);
$('.theme-link').click(function () {
var themeurl = themes[$(this).attr('data-theme')];
themesheet.attr('href', themeurl);
var apptheme = $('<link href="' + themes['app'] + '" rel="stylesheet" />');
apptheme.appendTo('head');
var theColorIs = $('.navbar-inverse').css("background-color");
$('.text-primary2').css('color', theColorIs);
});
});
基本上,它会加载一些bootswatch样本,然后重新加载我自己的app.css来覆盖一堆东西。然后我将navbar-inverse的BG颜色存储到变量中并尝试设置.text-primary2的颜色以匹配。
它有点有效,但它只会改变以前选择的主题的颜色,所以如果我选择相同的两次,那么我最终会赶上。
我可以对app.css,html或javascript进行更改,但我试图避免对个别主题进行更改。
我应该补充一点,关于jquery,javascript和web开发,我总是很新手。