情况是这样的,有一个网站,它有共有三个样式:黑版、灰版和银版,每个版都对应了不同的颜色(布局都是一样的,就是背景颜色和一些文本颜色不同),
想通过JavaScript实现这样的效果:在某个页面,用户选择了某个版,这是,网页就切换了他选的版式,在下面的浏览中,保持这样的版式,直到用户再次改变了版式。我现在的思路是这样的:为这三个版各设置一个css文件,用JavaScript来切换css文件。
不过,我是JavaScript新手,不知道这样的具体的实现方式。
各位大侠有过这方面的经验吗?还望指点一二,代码、思路、提示均可,小弟不胜感激。

解决方案 »

  1.   

    很简单,给你要的按钮加一个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" />
      

  2.   

     动态引入样式
    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);
        }
      

  3.   

    改成
    document.getElementsByTagName('head')[0].appendChild(script);
      

  4.   

    我看了一下ls两位的帖子,zjleon2008的方法符合要求,lsw645645645的是“动态引入样式”与切换样式不符。