美文网首页
实现多网页换肤效果

实现多网页换肤效果

作者: lvyweb | 来源:发表于2019-10-15 15:48 被阅读0次

标签(空格分隔): js


实现网页换肤

1)html中
<link rel="stylesheet" type="text/css" href="eplat.css" class="theme" />

   <button class="" onclick="changeTheme(this);">蓝色</button>
   <button class="" onclick="changeTheme(this);">默认</button>

2)js中

function changeTheme(objThis) {
    $(objThis).addClass("active");
    $(objThis).siblings().removeClass("active");
    var curColor = $(objThis).html();
    if (curColor == "蓝色") {
        var fileName = "eplat_blue";
    } else if (curColor == "默认") {
        fileName = "eplat";
    }
    event.stopPropagation();
    var curHref = "css/component/" + fileName + ".css";
    $(".eplat-theme").prop("href", curHref);
    console.log("curHref------", curHref);
    //保存肤色名
    setStorage("skinName", fileName);

}
//html5设置本地存储
function setStorage(sname, vul) {
    window.localStorage.setItem(sname, vul);
}

function getStorage(attr) {
    var str = window.localStorage.getItem(attr);
    return str;
}

function getDefaultTheme(url) {
    //访问本地存储,获取皮肤名
    var cssName = getStorage("skinName");
    //判断是否有皮肤名,就使用获取的皮肤名,没有就用默认的
    if (cssName && cssName != null) {
        url += "css/component/" + cssName + ".css";
        $(".eplat-theme").prop("href", url);
    } else {
        //没有皮肤就使用blue默认的路径
        url += "css/component/eplat.css";
        $(".eplat-theme").prop("href", url);
    }
    console.log("curParh-----",  url);
}

3)调用
getDefaultTheme("./")
根据不同的页面的相对路径去调用

相关文章

网友评论

      本文标题:实现多网页换肤效果

      本文链接:https://www.haomeiwen.com/subject/smusmctx.html