jquery:更改文本颜色以匹配导航栏背景

时间:2015-09-29 16:01:29

标签: javascript jquery html css twitter-bootstrap

我已经设置了一个菜单来加载各种样式表(我不想编辑)。我想要做的是将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开发,我总是很新手。

0 个答案:

没有答案