栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Html/CSS > Bootstrap教程

菜鸟必看|基于LocalStorageweb整站换肤功能 附demo源码

菜鸟必看|基于LocalStorageweb整站换肤功能 附demo源码

网上也有很多讲解web整站换肤的例子,但是这些例子大多数讲解的很模糊,不清楚,大家通常很难理解,今天我将给大家带来一个全新的例子,这个例子基于jquery和html5的localstorage本地存贮功能来实现的,并不像大多数例子那样采用cookies来存贮,localstorage是HTML5的新功能,新东西就要敢于去使用它,localstorage比cookies存贮性能更好,因为是存贮在本地,所以不会因为浏览器清理缓存而被清理掉,所以几乎可完美媲美写入后台数据库实现的那种换肤。好了不废话了,开始吃瓜!
大概思路就是同一个网站 写多个css文件,通过切换css文件来达到替换网站样式风格,但是这样一刷新就失效了,所以引用了localstorage来存贮我们设置好的样式路径,通过js设置css文件标签的href属性来换肤。
首先了解一下.localStorage本身带有方法:
  添加键值对:localStorage.setItem(key,value)
  获取键值:localStorage.getItem(key)
  删除键值对:localStorage.removeItem(key)。
  清除所有键值对:localStorage.clear()。
我们再看一下例子 结构:

这里可以清楚的看到整个例子由哪些文件组成,用的都是最常见的bootstrap 框架和jquery(用不用其实都无所,这里为了方便和美观 习惯性加上而已),
style1-4代表了四种不同的主题文件,整个网站由index1-4这四个页面组成,
themes.js是创建和设置主题的js文件,也是主讲的核心内容。
我们来看一下index1里的内容:



    
 
 
 
 
 
 
    

    
 
网站LOGO
  • 页面一
  • 页面二
  • 页面三
  • 页面四
  • 这是页面一

    index2 index3 index4和这个里面的内容一样,引用的头部文件也相同。
    我们再来看一下style1.css里的文件样式:

    demo{
        background-color: #00CCFF;
        border-radius: 35px;
        box-shadow: 10px 10px 10px #737373;
    }
    .navbar-default{
        background-color: #00CCFF;
    }
    

    另外几个style2-4里和style1里只有背景色不同以方便运行查看样式的更改。
    我们接下来看一下themes.js里的内容:

    $(document).ready(function(){
        //新建变量a获取本地存贮的localStorage中的a
        var a = localStorage.getItem('a');
        //判断localStorage是否存在 
        if(a==null&&a==undefined){
     //如果不存在 将默认样式设置为样式一
     $('.test').attr('href', 'css/style1.css');
        }
        else{
     //如果存在 将样式设置为a的样式
     $('.test').attr('href', a)
        }
    
        $("#submit").click(function(){
     //创建localStorage对象
     var storage=window.localStorage;
     var color=$(":selected").val();
     if(color=='样式一'){
         //把路径存到localStorage对象的a中;
         storage.a="css/style1.css";
         $('.test').attr('href',storage.a);
         alert('你已经成功设置了样式一');
    
     }
     else if(color=='样式二'){
         //把路径存到localStorage对象的a中;
         storage.a="css/style2.css";
         $('.test').attr('href',storage.a);
         alert('你已经成功设置了样式二');
    
     }
      else if(color=='样式三'){
         //把路径存到localStorage对象的a中;
         storage.a="css/style3.css";
         $('.test').attr('href',storage.a);
         alert('你已经成功设置了样式三');
    
    }
       else if(color=='样式四'){
         //把路径存到localStorage对象的a中;
         storage.a="css/style4.css";
         $('.test').attr('href',storage.a);
         alert('你已经成功设置了样式四');
    
    }
      else{
         alert('发生错误!');
      }
       });
    });

    这里重点几乎都被我添加注释了,包括新建localstorage,定义变量来设置默认样式,以及一系列的逻辑判断,我个人觉得这段代码已经十分易于理解了,
    如果你看了还是不懂,那么挥舞起你手里的鼠标,选中粘贴复制代码到你的本地中,参照案例亲自做一遍,既帮助你理解了网站换肤的实现,也理解了localstorage的使用!
    如果自己运行有问题的,需要帮助的可以给我留言,也可以加我QQ索取项目源码(QQ1152314386)
    运行效果图:

    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/243677.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号