原生JavaScript如何实现后台管理系统主题切换功能?

原生JavaScript实现轮播图自动切换完整代码与实战解析 自动播放应封装为独立函数,便于复用与管理。理想情况下,该函数应接受轮播配置参数,如切换间隔、是否启用等。});return {}, 阅读详情

在项目中我们总会遇到,可以切换主题的项目,比如这样:

当用户选择主题切换,选定某一主题之后, 切换到相应主题的样式文件,而且在刷新页面的时候,样式依旧生效,而不是仅次于当前页面,那怎么实现这种功能呢?

 我们可以把用户点击之后的样式文件通过生命一个变量 将其存到本地,当页面刷新进入新页面之后,调用刚刚切换的样式文件,就可以实现这种效果(缺陷就是:会有短暂的留白,望 大神指教)

附上代码:

link css样式文件正常引入即可

html(部分)

                <li class="dropdown">
                    <a class="dropdown-toggle" data-toggle="dropdown">
                        <span style="font-size: 18px" class="colour">主题切换</span>
                        <b class="caret"></b>
                    </a>
                    <ul class="dropdown-menu">
                        <li>
                            <a th:onclick="'javascript:themeOne('+${1}+')'">护眼黄</a>
                            <a th:onclick="'javascript:themeOne('+${2}+')'">天空蓝</a>
                            <a th:onclick="'javascript:themeOne('+${3}+')'">素雅白</a>
                        </li>
                    </ul>
                </li>

js

<script>
    var stylePath
    var styleCss
    // var headLink
        function themeOne(n) {
            switch(n)
            {
                case 1:
                    let obj = document.getElementById('modifyCss')
                    // obj.setAttribute('href' , '/libs/theme/pblog/css/common01.css')
                    styleCss = '/libs/theme/pblog/css/common01.css'
                    obj.setAttribute('href' , styleCss)
                    localStorage.setItem("stylePaths",styleCss)
                    console.log(localStorage.getItem('stylePaths'))
                    // stylePath = localStorage.getItem('stylePaths')
                    break
                case 2:
                    let obj1 = document.getElementById('modifyCss')
                    // obj1.setAttribute('href' , '/libs/theme/pblog/css/common02.css')
                    styleCss = '/libs/theme/pblog/css/common02.css'
                    obj1.setAttribute('href' , styleCss)
                    localStorage.setItem("stylePaths",styleCss)
                    console.log(localStorage.getItem('stylePaths'))
                    // stylePath = localStorage.getItem('stylePaths')
                    break
                case 3:
                    let obj2 = document.getElementById('modifyCss')
                    // obj2.setAttribute('href' , '/libs/theme/pblog/css/web-common.css')
                    styleCss = '/libs/theme/pblog/css/web-common.css'
                    obj2.setAttribute('href' , styleCss)
                    localStorage.setItem("stylePaths",styleCss)
                    console.log(localStorage.getItem('stylePaths'))
                    // stylePath = localStorage.getItem('stylePaths')
                    break
                default:
                    alert('没有该选项')
            }
        }
    function re() {
        var headLink = document.createElement("link")
        headLink.setAttribute("rel" , "stylesheet")
        headLink.setAttribute("id" , "modifyCss")
        headLink.setAttribute("href" , stylePath)
        var bodyPage = document.getElementById("pageId")
        bodyPage.appendChild(headLink)
    };
    re()

    function fun() {
        stylePath = localStorage.getItem('stylePaths')
        if(stylePath == null) {
            stylePath = '/libs/theme/pblog/css/web-common.css'
        }
        let pageCss = document.getElementById('modifyCss')
        pageCss.setAttribute('href' , stylePath)
        console.log(stylePath)
    }
    fun()
</script>

当然 这块函数 你可以写成 自调用函数,

如有问题 :欢迎私信 指正!

jquery后台登录页面背景图片自动轮换登录界面代码 立即下载

相关推荐

非常经典的后台管理系统框架(HTML、JS源码)

非常经典的后台管理系统框架(HTML、JS源码)

JeeSite 1.2.7 入门基础教程

 购课前须知:部分视频教程因转码失败未上传成功,购课之后请留言咨询,发送全部视频教程

智能座舱语音测试避坑指南:从唤醒率到方言识别,这些场景你测全了吗?

本文深入解析智能座舱语音测试的关键场景与避坑指南,涵盖唤醒率测试、方言识别、多音区交互等复杂场景。通过实战案例与自动化测试方案,帮助开发者全面提升语音系统的可靠性与用户体验,特别关注环境噪声干扰与方言覆盖策略。

weixin_42613501的博客 496

【node】nodejs原生搭建后端服务

一、开发前的准备 cross-env 设置环境变量 nodemon 热更新(修改代码之后立即重启项目) 使用:两个插件均使用npm安装即可,安装好之后在package.json的脚本中插入以下两个脚本 "scripts": { "dev": "cross-env NODE_ENV=dev nodemon ./bin/www.js", "prd": "cross-env NODE_ENV=production nodemon ./bin/www.js" }, 用dev脚本举例,该脚本

默默的小跟班的博客 2万+

MATLAB随机生成m个三维坐标点,且各个坐标点之间的距离不小于n

randi函数 randi(max,m,n); %生成均匀分布的随机整数,max生成的随机整数最大值,生成m行n列的矩阵 编写函数sampling function [x,y,z]=sampling(lowx,upx,lowy,upy,lowz,upz,m,n) %该函数用来产生不重复的随机整数矩阵 %low—随机整数下界;up—随机整数上界;m—坐标点个数;n—各个坐标点之间的最小距离 %编...

qq_45384561的博客 9436

LTspice基础教程-024.参数扫描;step指令用法

step指令用于参数扫描,扫描步骤可以是线性的,对数的或列表。 下面介绍几种常用用法: 绘制一简单电阻分压电路,如下: 线性扫描 语法:.step param <Name> <Start Value> <Stop Value> <Increment> 例:.step param Res 20 100 20 意思是R2的阻值从20变化到100,...

gaoyong_wang的博客 3万+

前端开发者如何用JS开发后台

学习交流微信: 万能的JavaScript 有一条 Atwood 定律:any application that can be written in JavaScript, will eventually be written in JavaScript 任何可以用 JavaScript 来写的应用,最终都将用 JavaScript 来写 实时上现在也是这样的,js几乎可以用来做任何事...

t951984189的博客 5173

【WLAN】【调试】再谈如何使用Wireshark解密WiFi数据包——使用TK信息

- 本文介绍了一种wireshark使用TK信息解密空口报文的方式,该方式对是否有关联过程的报文没有要求。

一介草民,只为生活。 1187

后台系统切换主题颜色(换肤) Vue+ elementUi

Vue + ElementUI 切换主题(换肤)

m0_53430885的博客 3514

windows 10 等保3级配置核查与加固(附自动化加固脚本)

关闭注册表编辑器,然后重新启动计算机。\\r\\n 对于OPC通讯站(server\\\\client),【密码最长存留期】需要设置为0,即密码不过期。‌445端口‌:修改注册表禁用。打开命令提示符,运行命令“gpedit.msc”打开组策略编辑器,浏览到路径“本地计算机策略\\\\计算机配置\\\\Windows设置\\\\安全设置\\\\本地策略\\\\安全选项”,在右边窗格中找到“Microsoft网络客户端:将未加密的密码发送到第三方SMB服务器”,双击,配置为“已禁用”,确定。

悦分享 160

2023,程序员的出路在哪里?

可是似乎从30岁开始这工资就没涨过,前面跳槽几次涨的薪水在30岁以后跳槽已经不管用了、定格了,这几年由于市场环境不景气,程序员竞争越来越激烈,36岁跟30拿的工资一模一样,不仅工资拿的一样,反而事情还越来越多了,这些都意味着什么?处理故障需要的通常不仅仅是写代码的能力,还需要对一个系统的全貌要有一定的掌握。虽然目前不少大型互联网企业都在进行结构性调整,但是从互联网行业发展的基本面来看,未来在产业互联网发展的过程中,IT行业和传统行业将会释放出大量的就业岗位,所以未来程序员的发展空间还是非常值得期待的。

AI天才研究院 20万+

Vue + ElementUI 后台管理系统实现主题风格切换

​一、目的 此次写作内容是在我之前发布一篇文章的基础上进行新增的。 上一篇文章:Vue + ElementUI 后台管理系统实现顶部一级菜单栏,左侧二级菜单栏_无解的菜鸟晖的博客-优快云博客 这次要实现在页面上新增一个切换主题风格的按钮,点击后实现页面主题风格的切换功能。 二、效果图 三、具体实现步骤 1、前期准备:使用 bus 进行组件通信 在要相互通信的组件之间,引入一个新的 Vue 实例,然后分别通过调用这个实例的事件触发和监听,来实现通信和参数传递。 在utils 文件夹下放入

无解的菜鸟晖 的博客 6544

大数据知识面试题-通用(2026版)

序列号 内容 链接 1 大数据知识面试题-通用(2022版) 待续… 2 大数据知识面试题-Hadoop(2022版) 待续… 3 大数据知识面试题-MapReduce和yarn(2022版) 待续… 4 大数据知识面试题-Zookeepr (2022版) 待续… 5 大数据知识面试题-Hive (2022版) 待续… 6 大数据知识面试题-Flume(2022版) 待续… 7 大数据知识面试题-Hbase(2022版) 待续… 8 大数据知识面试题-sqoop(....

拉格朗日的学习笔记 2万+

vue-element-admin主题定制指南:实现多主题切换功能的终极教程

vue-element-admin作为基于Vue.js和Element UI的优秀后台管理系统模板,其强大的主题定制功能让开发者能够轻松实现多主题切换效果。本文将详细介绍如何利用vue-element-admin的主题系统,打造个性化的后台管理界面。✨ ## 什么是vue-element-admin主题定制功能? vue-element-admin提供了完整的主题定制解决方案,允许开发者在不修

gitblog_00563的博客 979

【QT开发教程】使用Qt进行NFC编程

近场通信(NFC,Near Field Communication)技术广泛应用于现代设备中,例如智能手机、支付终端和门禁系统。Qt提供了一套完整的NFC模块,使开发者可以轻松地在应用程序中实现NFC功能。本文将介绍如何在Qt中进行NFC编程,包括基本概念、使用方法以及一些实际的示例。

科技改变人类,技术成就未来 1467

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

前端主题色切换的终极解决方案

实现主题色切换,通过使用CSS变量和JavaScript结合,以及全局状态管理,实现了在页面中动态切换主题色,并解决了echarts图表中主题色不更新的问题。

1319

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Vue+Less/Scss实现主题切换功能

目前,在众多的后台管理系统中,换肤功能已是一个很常见的功能。用户可以根据自己的喜好,设置页面的主题,从而实现个性化定制。目前,我所了解到的换肤方式,也是我目前所掌握的两种换肤方式,想同大家一起分享。

hbmern的博客 3198

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【原生js后台管理系统-笔记(遇到的问题)导航栏】

大概,至少四个月没有写过代码了,很多东西感觉又还给了老师。

qq_52722039的博客 876

打造舒适开发体验:vue-admin-better暗黑模式实现与主题切换技巧

vue-admin-better是一款功能强大的Vue后台管理系统解决方案,提供了完善的主题切换功能,支持用户根据个人偏好和使用场景在亮色与暗色模式之间自由切换。本文将详细介绍vue-admin-better中暗色模式的实现原理、主题切换功能的使用方法以及如何通过配置优化用户体验。 ## 主题配置核心功能解析 vue-admin-better的主题切换功能主要通过`src/config/the

gitblog_00411的博客 757

vue-element-admin中的主题切换:实现动态样式切换功能的完整指南

vue-element-admin作为一款优秀的前端后台管理系统模板,其强大的主题切换功能让用户能够根据需求快速调整界面风格。本文将深入解析vue-element-admin主题切换的实现原理,帮助开发者掌握动态样式切换的核心技术,打造个性化管理后台界面。 ## 🌟 为什么需要主题切换功能? 在现代化的管理系统中,主题切换不仅仅是一个美观功能,更是提升用户体验的重要手段: - **个性化定

gitblog_00898的博客 415

vue-element-admin主题切换方案:CSS变量与Less动态切换指南

vue-element-admin作为一款优秀的前端管理模板,提供了灵活的主题切换功能,让开发者能够快速实现项目的个性化定制。在vue-element-admin中,主题切换主要基于两种技术方案:CSS变量和Less动态编译。这两种方案各有优劣,适用于不同的业务场景。 ## 🎨 为什么需要主题切换? 主题切换不仅仅是改变颜色,它能够: - **提升用户体验**:用户可以根据自己的喜好选择不

gitblog_00763的博客 714

Vue Admin Better 主题切换终极指南:轻松实现暗黑模式与多主题支持

Vue Admin Better 是一个基于 Vue3 + Vite5 + Arco Design 的现代化后台管理系统,其强大的主题切换功能让开发者能够轻松实现暗黑模式和多主题支持。作为开源项目,Vue Admin Better 提供了完整的主题配置解决方案,帮助开发者快速打造个性化的管理系统界面。 ## 🎨 主题配置核心功能 Vue Admin Better 的主题系统设计巧妙,通过 *

gitblog_00305的博客 429

如何用Vue Vben Admin实现动态主题切换:从基础配置到高级玩法

你是不是也曾为后台管理系统单调的界面而苦恼?每次产品经理提出换肤需求,开发团队就要加班加点修改样式?别担心,今天我要带你用Vue Vben Admin打造一个真正"会变色"的后台系统,让主题切换像呼吸一样自然! ## 为什么主题切换如此重要? 在如今追求用户体验的时代,静态的界面已经无法满足用户需求。想象一下,你的系统能够根据时间自动切换日间/夜间模式,或者让用户随心所欲选择自己喜欢的配色方案

gitblog_00120的博客 976

轻松实现CSS主题切换:theme-change项目的完整使用指南

在现代Web开发中,为用户提供多种主题选择已成为提升用户体验的重要方式。theme-change是一个轻量级、简单易用的JavaScript库,专门用于实现CSS主题切换功能。通过CSS自定义属性和localStorage技术,它可以让你快速为网站添加主题切换能力,无需复杂的配置和大量的代码修改。 ## 🌟 theme-change的核心特性 theme-change项目提供了多种主题切换方

gitblog_00333的博客 768

Vue 后台管理系统 Demo

GITHUB 原文地址: https://github.com/lin-xin/vue-manage-system 前言 该方案作为一套多功能的后台框架模板,适用于绝大部分的后台管理系统(Web Management System)开发。基于 vue.js,使用 vue-cli3 脚手架,引用 Element UI 组件库,方便开发快速简洁好看的组件。分离颜色样式,支持手动切换主题色,而且很方便...

weixin_42605169的博客 3246

Vue+Less/Css简易动态切换主题

Vue+Less/Css简易动态切换主题描述解决方法less安装和使用 描述 最近在完成一个简易后台管理系统的搭建,因为功能模块比较少,于是写了一个设置页面,想给整个web添加一个改变颜色的功能(只是切换一种或几种颜色,自定义改变颜色的话难度会麻烦一些,可以参考下最下方的链接),于是了解了一下css变量和less变量,打算从这俩方面入手(预编译用的less) //Css设置变量 :root{--global-color:blue;} //调用变量 #box1{color:var(--global-c

weixin_46835329的博客 2093
上一篇: 《ES6 模版字符串》
下一篇: vue 点击键盘回车键和点击按钮,实现登录功能
昨夜太平长安888
博客等级 码龄9年 1万+粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值