前端实现系统换肤

时间:2020-10-27 23:10:48   收藏:0   阅读:175

写在前面:
      最近在做新疆双随机信用监管换肤问题,当项目经理给我提这个需求的时候,心里那一瞬间恍惚了,有点怕,确实没接触过呀,脑子一片空白,三秒吧就静下来,在公司管你是菜鸟还是高手,管你是刚毕业还是久经沙场,大家没有什么不同,哈哈,我就把这个项目接下来了,我这人注重结果比过程更多一点,心情恢复之后我想的是,既然有这个需求又分配给我了, 到期我肯定是要把这个需求给交出来的呀,我又做了一个之前没尝试过的事情呀,又是一笔漂亮的履历呀,几天之后我就是一个做过大型系统换肤功能的前端了呀,哈哈,(我是一个接手一个项目之后从来没有想过完成不了怎么办,都是先提前享受一下成功的喜悦的人)现在我来这报道了,我做出来了,嘿嘿,做出来再回首的时候感觉其实把换肤功能写出来会不会有点小丢人呢,确实没有难度啊,,很简单的事情啊,,,没有得瑟,是真的哈,下面就赘述一下我换肤的过程的‘辛酸’吧。以后再有换肤需求的时候,我做过就不怕了呀,嘻嘻
下面有自己不成熟的思路也有成熟成功的,可以直接看后面,写不成熟的目的是,我把坑踩过了,别再踩了,哈哈

换肤思路

大体上的思路是,访问网页-->读取cookie/storage-->根据本地存储保存的提示信息切换到相应的主题颜色,若本地没有存储或者清除缓存,提供默认的颜色,------这是访问系统时的功能
进入到系统时主动换肤: 点击换肤按钮或者图标或者提示换肤的文字都可以,点击之后会弹出四个主题进行挑选,选好之后点击保存按钮,换肤这个弹框关闭的时候就要进行动态主题颜色切换了

动手之前的操作和不成熟的想法

      //点击主题颜色时调用的函数
  function  tc(id) {           
            localStorage.setItem(‘skin‘,id)  //点击不同的主题时存下的数据
        }
      //点击保存按钮调用的函数
        function save() {
            $(".mask").hide();
            $(".skin-layer").slideUp();
            localStorage.setItem(‘save‘,localStorage.getItem(‘skin‘)) //保存最后点击时的数据,最大的作用是不点击保存按钮时不会走这个函数,也就是你选好了样式不点击保存不会生效,也不避免了误触
            //刷新页面
            window.location.replace(window.location.href)
        }

成功换肤流程(通用各种框架)

1. 写四套样式(我这个是五六年前的项目,还是前后端没分离的)

1. 将页面引用的所有样式写在一个组件里,再引到页面中,(注:重要的一点是要放到其他引用样式的前面,避免其他样式出不来)

1. 在换肤弹窗页面加两个本地存储,得到点击保存按钮时的数据

1. 保存函数调用的同时收起遮罩层,关闭弹窗页面,刷新页面,(刷新页面是为了执行加载网页就根据本地存储进行选择主题颜色的方法,这个方法是自执行方法,系统进来时就执行的 window.location.replace(window.location.href))

原文:https://www.cnblogs.com/wszzj/p/13887534.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!