JS网页换肤读取cookie基础案例

JS网页换肤读取cookie基础案例

功能简介: 页面加载时判断cookie是否存在存在就读取cookie,点击换肤按钮添加(更换)CSS文件并把文件名存入cookie;

本文Cooke相关资料来源

HTML部分:

<a href="javascript:void(0)" id="blue" onclick="bgcolor('blue.css',this)">blue</a>

<a href="javascript:void(0)" id="orange" onclick="bgcolor('orange.css',this)">orange</a>

<a href="javascript:void(0)" id="red" onclick="bgcolor('red.css',this)">red</a>

JS部分:

function setCookie(name, val) { //写入coolie
                var Days = 30 * 12; //cookie 将被保存一年  
                var exp = new Date(); //获得当前时间  
                exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); //换成毫秒  
                document.cookie = name + "=" + escape(val) + ";expires=" + exp.toGMTString(); //escape()转码   toGMTString()把Date 对象转换为字符串,并返回结果。
            }

            function getCookie(name) { //读取cookie
                var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
                if(arr != null) {
                    return unescape(arr[2]);
                } else {
                    return null;
                }
            }

            function bgcolor(file, $this) {//点击换肤按钮换色并把文件名存入cookie
                var skinid = document.getElementById("skin");
                if($this.getAttribute("id") == "blue") {
                    skinid.href = "css/" + file;
                    setCookie("colors", file);
                    //if() skinid.href
                } else if($this.getAttribute("id") == "orange") {
                    skinid.href = "css/" + file;
                    setCookie("colors", file);
                } else if($this.getAttribute("id") == "red") {
                    skinid.href = "css/" + file;
                    setCookie("colors", file);
                }

            }

            function loadfile() { //加载时读取缓存看缓存有没有存上次的信息
                var skinid = document.getElementById("skin");
                if(getCookie("colors") != null) {
                    skinid.href = "css/" + getCookie("colors");
                }
            }

CSS部分是3个给body附加不同颜色的文件

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现静态网页一键换肤的方法主要是利用JavaScript动态修改CSS样式表中的样式,从而达到切换皮肤的效果。 下面给出一个简单的实现示例: HTML代码: ```html <!DOCTYPE html> <html> <head> <title>一键换肤示例</title> <link rel="stylesheet" type="text/css" href="style.css" id="skin"> <script type="text/javascript" src="skin.js"></script> </head> <body> <div class="container"> <h1>一键换肤示例</h1> <p>这是一个静态网页,支持一键换肤。</p> <button onclick="changeSkin('blue')">蓝色</button> <button onclick="changeSkin('green')">绿色</button> <button onclick="changeSkin('yellow')">黄色</button> </div> </body> </html> ``` CSS代码: ```css .container { width: 500px; margin: 0 auto; padding: 20px; background-color: #f0f0f0; } h1 { font-size: 36px; color: #333; } p { font-size: 18px; color: #666; line-height: 1.8; } .blue { background-color: #0077be; color: #fff; } .green { background-color: #00b300; color: #fff; } .yellow { background-color: #ffd700; color: #333; } ``` JavaScript代码: ```javascript function changeSkin(skin) { var css = document.getElementById('skin'); css.href = 'skin-' + skin + '.css'; } ``` 在这个示例中,我们在HTML代码中加入了三个按钮,分别代表不同的皮肤。当用户点击按钮时,会触发changeSkin函数,该函数通过修改CSS样式表中的href属性,来加载不同的皮肤CSS文件。这些皮肤CSS文件需要事先定义好,并通过不同的类名来实现样式的不同。 需要注意的是,在修改href属性时,需要保证新的CSS文件已经加载完成,否则可能会出现样式混乱的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值