javascript - 在 bootstrap.css 主题之间动态切换

标签 javascript html css asp.net-mvc

我正在尝试在我的 MVC 应用程序上创建的深色和浅色主题之间切换。

我的 _Layout.cshtml 页面加载我在下面创建的默认主题

<link id="theme" rel="stylesheet" href="~/lib/bootstrap/dist/css/Original.css">

我创建了以下按钮来在下面的主题之间切换

<button id="light">Light</button><br />
<button id="dark">Dark</button>

我的另外两个引导主题位于 lib > bootstrap> dist > css >

我的 botstrap.js 文件中有以下 js

$('#dark').click(function () {
    $('link[href="~/lib/bootstrap/dist/css/Dark.css"]').attr('href', '~/lib/bootstrap/dist/css/Dark.css');
});
$('#light').click(function () {
    $('link[href="~/lib/bootstrap/dist/css/Dark.css"]').attr('href', '~/lib/bootstrap/dist/css/Light.css');
});

不确定我是否犯了一些明显的错误,但如果有任何帮助,我们将不胜感激。

最佳答案

这是在 VanillaJS 中,还请检查链接标签上的 href 是否正确解析为 CSS 文件。

const darkBtn = document.querySelector('#dark');
const lightBtn = document.querySelector('#light');
const linkTag = document.querySelector('#theme');

darkBtn.addEventListener('click', () => {
  linkTag.setAttribute('href', '~/lib/bootstrap/dist/css/Dark.css')
});

lightBtn.addEventListener('click', () => {
  linkTag.setAttribute('href', '~/lib/bootstrap/dist/css/Light.css')
});

关于javascript - 在 bootstrap.css 主题之间动态切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61065437/

相关文章:

javascript - 通过单击按钮设置隐藏值

javascript - 关于 javascript 中的 cloneNode 的问题

css - 单击时可以将文本颜色更改为#000000 的命令是什么

javascript - 当指针按下时检测 div 外部的 pointmove 事件

javascript - 带有自定义 enctype 的 Ext.Ajax.request

html - Sencha - 将底部标题边框添加到面板

javascript - data-ng-bind 不适用于 <option> 元素

html - 为什么文本会突出?

php - 如何正确预加载图片、js 和 css 文件?

javascript - 用户登录时动态显示侧边栏 View /模板?