使用JavaScript切换网站样式,有哪些方法?

EastStone_L 2011-07-06 02:05:03
情况是这样的,有一个网站,它有共有三个样式:黑版、灰版和银版,每个版都对应了不同的颜色(布局都是一样的,就是背景颜色和一些文本颜色不同),
想通过JavaScript实现这样的效果:在某个页面,用户选择了某个版,这是,网页就切换了他选的版式,在下面的浏览中,保持这样的版式,直到用户再次改变了版式。

我现在的思路是这样的:为这三个版各设置一个css文件,用JavaScript来切换css文件。
不过,我是JavaScript新手,不知道这样的具体的实现方式。
各位大侠有过这方面的经验吗?还望指点一二,代码、思路、提示均可,小弟不胜感激。
...全文
111 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
EastStone_L 2011-07-12
  • 打赏
  • 举报
回复
我看了一下ls两位的帖子,zjleon2008的方法符合要求,lsw645645645的是“动态引入样式”与切换样式不符。
lsw645645645 2011-07-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lsw645645645 的回复:]
this.appendChild(script);
[/Quote]
改成
document.getElementsByTagName('head')[0].appendChild(script);
lsw645645645 2011-07-06
  • 打赏
  • 举报
回复
动态引入样式
function addCss(url) {
var script = document.createElement('link');
script.setAttribute('rel', 'Stylesheet');
script.setAttribute('type', 'text/css');
script.setAttribute('href', url + "?" + new Date().toString()); //发布时把时间去了
this.appendChild(script);
}
zjleon2008 2011-07-06
  • 打赏
  • 举报
回复
很简单,给你要的按钮加一个click事件:
function change(a){
var styles = document.getElementsByTagName('link');
//alert(1);
for(s in styles){
styles[s].rel = "alternate stylesheet"; //把所有的样式表设置为备用
if (styles[s].id == a) {
styles[s].rel = "stylesheet"; //设置需要的样式表为表现样式
}
}
}


然后把css的link设置成这样的形式:
<link id="style1" href="../site1/html/style1.css" rel="stylesheet" type="text/css" />
<link id="style2" href="../site1/html/style2.css" rel="alternate stylesheet" type="text/css" />

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧