jquery基于bootstrap可自由切换的暗亮模式

所属分类: 网页特效-其它&杂项    2023-11-23 10:44:54

jquery基于bootstrap可自由切换的暗亮模式 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

jquery基于bootstrap可自由切换的暗亮模式(共4个文件)

    • index.html

使用方法

function toggleDisplayMode() {
	var e_page_state = document.getElementById("page-display-mode")
	var page_state = e_page_state.innerHTML;

	/* Dark Mode Variables */
	var e_text_dark = document.querySelectorAll(".text-dark");
	var e_text_black = document.querySelectorAll(".text-black");
	var e_bg_dark = document.querySelectorAll(".bg-dark");
	var e_bg_black = document.querySelectorAll(".bg-black");

	/* Light Mode Variables */
	var e_text_light = document.querySelectorAll(".text-light");
	var e_text_white = document.querySelectorAll(".text-white");
	var e_bg_light = document.querySelectorAll(".bg-light");
	var e_bg_white = document.querySelectorAll(".bg-white");

	/* Other Elements */
	var e_cards = document.querySelectorAll(".card");

	// Switch from Light to Dark Mode
	if (page_state == "light") {
		switchClasses(e_text_dark, "text-dark", "text-light");
		switchClasses(e_text_black, "text-black", "text-white");
		switchClasses(e_bg_light, "bg-light", "bg-dark");
		switchClasses(e_bg_white, "bg-white", "bg-black");
		addClass(e_cards, "border-dark");
	}
	// Switch from Dark to Light Mode
	else if (page_state == "dark") {
		switchClasses(e_text_light, "text-light", "text-dark");
		switchClasses(e_text_white, "text-white", "text-black");
		switchClasses(e_bg_dark, "bg-dark", "bg-light");
		switchClasses(e_bg_black, "bg-black", "bg-white");
		removeClass(e_cards, "border-dark");
	}

	// Update page state
	e_page_state.innerHTML = switchState(page_state);
}

function switchClasses(elements, fromClass, toClass) {
	for(let elem of elements) {
		if (elem.classList.contains(fromClass)) {
			elem.classList.remove(fromClass);
			elem.classList.add(toClass);
		}
	}

	return true;
}

function addClass(elements, className) {
	for (let elem of elements) {
		if (!elem.classList.contains(className)) {
			elem.classList.add(className);
		}
	}
}

function removeClass(elements, className) {
	for (let elem of elements) {
		if (elem.classList.contains(className)) {
			elem.classList.remove(className);
		}
	}
}

function switchState(state) {
	switch(state) {
		case "light":
			state = "dark"; 
			break;
		case "dark":
			state = "light";
			break;
		default:
			state = "undefined";
	}

	return state;
}

function createPageStateElement() {
	var div = document.createElement("div");
	var id = "page-display-mode";
	var init_mode = document.createTextNode("light");
	div.appendChild(init_mode)
	div.id = id;
	div.classList.add("d-none");
	document.getElementsByTagName("body")[0].appendChild(div);
}

window.toggleDisplayMode = toggleDisplayMode;
window.createPageStateElement = createPageStateElement;

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 其它&杂项

9种不同的CSS聊天消息语音气泡特效代码

这是一款聊天消息气泡模板,在不同位置设置各种形状的语音气泡样式,包括正方形、椭圆和三角形,通常都运用在聊天对话或者群聊当中,非常好看。
  其它&杂项
 61633  0

jquery支持手动调整表格列宽度插件

一款轻量级table表格列自定义调整宽度插件,resizableColumns是一个基于jQuery和CSS的插件,可鼠标移至列中,按住拖动调整table表格列宽度。
  其它&杂项
 2648  0

原生js二维码插件生成4种不同元素二维码代码

包含:SVG元素、Data URI SVG、Data URI PNG、table表格
  其它&杂项
 1779  0

jquery文本文字自适应DIV容器宽度高度插件

一款支持自定义文本文字排版插件,可以自动缩放文本以适应其容器的宽度或高度。
  其它&杂项
 4854  0

评论数(1) 回复有机会获得K币 用户协议

    jq小菜鸡0
    2023-12-08 13:30:41
    这个不就是白天夜晚切换那种吗
    回复
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论