首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在点击时更改整个页面/网站的CSS?

如何在点击时更改整个页面/网站的CSS?
EN

Stack Overflow用户
提问于 2010-03-15 00:48:48
回答 4查看 7.3K关注 0票数 8

有没有可能在一个页面上有3-4个CSS,然后在任何事件上,比如说点击,改变整个网页的css。这样我们就可以给我们的用户改变主题的能力。我知道我们可以通过以下方式更改元素的css:

代码语言:javascript
复制
$("#myElementID").removeClass("class1").addClass("class2");
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-15 00:58:10

是的,这是可能的。通常,您要做的是编写一个JavaScript函数,该函数将在文档的<head>中更改、添加或删除样式表。为了使体验更好一些,您通常会将用户的偏好存储在cookie中。有一个article on A List Apart that show how to implement this

当然,you can do this with jQuery..。你可能想看看jStyler的源代码。

票数 9
EN

Stack Overflow用户

发布于 2010-03-15 00:55:06

The CSS Zen Garden (参见第五个问题)最终决定最简单的方法就是刷新页面并设置一个新的CSS服务器端。

票数 2
EN

Stack Overflow用户

发布于 2010-03-15 00:58:31

CSS被嵌入到' link‘标签上的DOM中,所以你可以找到这个链接并添加/删除它

下面的代码展示了如何删除和添加新的DOM (我使用的是MS AJAX,请参阅方法$get,但您也可以用纯DOM或其他方言替换它):

代码语言:javascript
复制
    var head = document.getElementsByTagName('head')[0];

    var oldLink = $get("nameOfLink", head);
    if(oldLink!=null) 
        head.removeChild(oldLink); //remove old entry
    var s = document.createElement('link');
    s.id="nameOfLink";
    s.type = 'text/css';
    s.rel="stylesheet";
    s.charset ='utf-8';
    s.href = "http://your-provided-url";
    head.appendChild(s);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2442894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档