Javascript 点击按钮更改响应网站的主题

Javascript 点击按钮更改响应网站的主题,javascript,jquery,css,Javascript,Jquery,Css,我有四种类型的CSS文件,这样我可以在桌面、手机和平板电脑上打开我的网站。我通过外部javascript页面中的javascript函数调用了CSS页面,并在索引页面中调用了脚本标记。 我写的代码如下,但问题不在于它工作得很好。现在,使用同样的概念,我想改变网站的主题颜色,它可以在所有位置打开,如手机、平板电脑、桌面或任何宽屏幕。所以我真正的问题是。请给我一些建议 这里是我在响应站点的.js文件中用于调用所有css的代码 function adjustStyle(width) { wid

我有四种类型的CSS文件,这样我可以在桌面、手机和平板电脑上打开我的网站。我通过外部javascript页面中的javascript函数调用了CSS页面,并在索引页面中调用了脚本标记。 我写的代码如下,但问题不在于它工作得很好。现在,使用同样的概念,我想改变网站的主题颜色,它可以在所有位置打开,如手机、平板电脑、桌面或任何宽屏幕。所以我真正的问题是。请给我一些建议

这里是我在响应站点的.js文件中用于调用所有css的代码

function adjustStyle(width) {
    width = parseInt(width);
    if (width < 350) {
        $("#size-stylesheet").attr("href", "css/mobile.css");
        } else if ((width >= 351) && (width < 600)) {
        $("#size-stylesheet").attr("href", "css/narrow.css");
    } else if ((width >= 601) && (width < 900)) {
        $("#size-stylesheet").attr("href", "css/medium.css");
    }else {
       $("#size-stylesheet").attr("href", "css/wide.css"); 
    }
}

$(function() {
    adjustStyle($(this).width());
    $(window).resize(function() {
        adjustStyle($(this).width());
    });
});
功能调整样式(宽度){
宽度=parseInt(宽度);
如果(宽度<350){
$(“#大小样式表”).attr(“href”,“css/mobile.css”);
}否则,如果((宽度>=351)和&(宽度<600)){
$(“#大小样式表”).attr(“href”,“css/slown.css”);
}否则,如果((宽度>=601)和&(宽度<900)){
$(“#大小样式表”).attr(“href”,“css/medium.css”);
}否则{
$(“#大小样式表”).attr(“href”,“css/wide.css”);
}
}
$(函数(){
adjustStyle($(this).width());
$(窗口)。调整大小(函数(){
adjustStyle($(this).width());
});
});

现在为了改变主题颜色,我必须为所有css编写更多的css。我对设计响应性网站完全是新手,任何帮助都将被感谢,所有建议都将被接受。

如果要创建响应性网站,我会选择一个新的网站。对于不同的宽度,应该不需要不同的css文件,除非设计在不同的宽度之间发生了巨大的变化。(我认为它不应该这样做,因为这可能会让用户感到困惑。)

为了在点击按钮时改变站点的颜色主题,我会做一些类似于您现在对不同宽度的css文件所做的事情

我会将所有与颜色有关的内容提取到自己的css文件中,并将其命名为default-theme.css。如果我想通过点击一个按钮切换到一个暗主题,我会创建一个新的css文件,名为example dark-theme.css,并向按钮的onclick事件注册如下函数:

function adjustTheme(width) {
    $("#theme-stylesheet").attr("href", "css/dark-theme.css");
}

我建议只使用单个css文件。因为很难在单独的css文件中维护所有内容。您可以使用css媒体查询来查询相同的内容:。范例

@media screen and (max-width: 300px) {
body {
    background-color: lightblue;
}
}


$(文档).on('单击',“.btn颜色更改”,函数(){
$(“.change theme”).attr(“href”,this.id+“-theme.css”);
});
文件
红色主题
绿色主题
蓝色主题
紫色主题
继续向上看…这是生活的秘密查理·布朗
第一步是你必须说你可以威尔·史密斯

我建议您使用
媒体查询
。这是一个单一的css文件,其中嵌套了用于不同分辨率和设备的css。是的,你为什么不使用媒体查询?我粘贴的代码运行良好。我的网站是响应性网站。一切都是好的,但现在当我想添加功能,如改变主题颜色只是点击颜色按钮,我必须写四个css页面的所有系统将打开我的网站和所有颜色。我不知道如何使用上面使用的相同功能来实现这一点。这就是我真正想要的,至少在Internet Explorer中媒体查询对我来说不起作用。如果它对你有用,请建议我编写代码。如果你想让浏览器记住访问之间选择的主题,liyakat答案中的链接看起来很有希望,除非你反对Cookie。是的,我接受这个答案。你的答案是对的,但我已经尝试过了,但它对我不起作用。既然你已经了解了我的问题,你还可以告诉我其他的选择吗?OK,我使用媒体查询。你能告诉我它在Internet Explorer上是如何工作的吗?因为它在我的情况下不工作,但在chrome和Firefox上工作。如果你想让你的媒体查询在IE8和更早的版本中工作,你可以试试。(据我所知,他们应该已经在IE9和更高版本中工作了。)感谢@meliasson发送respond.js。这就是我想要的。