JS 鼠标点击切换网站颜色样式方法
2023-09-18 21:52:55 作者:网友推荐 评论:146阅读(6)
《JS 鼠标点击切换网站颜色样式方法》正文开始,本次阅读大概5分钟。
在建站的时候,偶尔可能需要用到一个功能:切换网站颜色样式,今天就介绍几个通过JS方式切换网站颜色样式的方法:
一、在我以前的印象里,页面的字体属性,背景,等样式在页面加载后基本上都是固定的了,但是今天看到可以通过js修改页面的样式,觉得有必要和大家分享下。
html
head
metahttp-equiv=Content-Typecontent=text/html;charset=GB18030
titlecssajax/title
scripttype=text/javascriptsrc=test.js
/script
linkhref=styles.csstype=text/cssrel=stylesheet/
/head
body
tableid=table
tr
thid=tableHeadProductName/th
/tr
tr
tdid=tableFirstLineAirPlane/td
/tr
tr
tdid=tableSecondLineBigcar/td
/tr
/table
br/
inputtype=buttonvalue=setstyle1onclick=setStyle1()/
触发事件改变页面的样式
inputtype=buttonvalue=setstyle2onclick=setStyle2()/
触发事件改变页面样式
/body
/html
现在页面的文字样式,背景,字体大小,都是系统默认的,待会儿,给大家演示下运行结果,可以比较下哦
JS文件:
functionsetStyle1(){//将表的风格改为style1
//获取html的引用
oTable=document.getElementById(table);
oTableHead=document.getElementById(tableHead);
oTableFirstLine=document.getElementById(tableFirstLine);
otableSecondLine=document.getElementById(tableSecondLine);
//设置风格
oTable.className=Table1;
oTableHead.className=TableHead1;
oTableFirstLine.className=TableContent1;
oTableSecondLine.classNamee=TableContent1;
}
functionsetStyle2(){//将表格的风格改为style2
//获取html元素的引用
oTable=document.getElementById(table);
oTableHead=document.getElementById(tableHead);
oTableFirstLine=document.getElementById(tableFirstLine);
otableSecondLine=document.getElementById(tableSecondLine);
//设置风格
oTable.className=Table2;
oTableHead.className=TableHead2;
oTableFirstLine.className=TableContent2;
oTableSecondLine.classNamee=TableContent2;
}
CSS:
/*@CHARSETGB18030;*/
.Table1
{
border:DarkGreen1pxsolid;
background-color:LightGreen;
}
.TableHead1
{
font-family:Verdana,Arial;
font-weight:bold;
font-size:10pt;
}
.TableContent1
{
font-family:Verdana,Arial;
font-size:10pt;
}
.Table2
{
border:DarkBlue1pxsolid;
background-color:LightBlue;
}
.TableHead2
{
font-family:Verdana,Arial;
font-weight:bold;
font-size:10pt;
}
.TableContent2
{
font-family:Verdana,Arial;
font-size:10pt;
}
二、先说结论,总结成一句话就是 “加载对应的css,后加载的css覆盖默认显示样式,即可达到换主题的目的”,具体的实现分为2步: 准备两份不同主题的css 使用js实现切换(加载)css的方法
生成不同主题的css不同主题的css差异主要体现在颜色这个概念上,理论上只要有使用颜色的地方都需要进行适当的调整,比如文字颜色,背景色,边框颜色等等。简单来说就是白底陪黑字,黑底用白字,如果是采用了灰度色,则根据现实情况进行适度调整或无需调整。最简单的调整颜色的方法是使用适当的工具来生成css,比如less,scss等。
具体请看文章:http://www.w2bc.com/article/209505
三、CSS样式切换技巧 - 动态更换网页色彩皮肤
样式与数据分离所带来的不只是符合标准这样的简单,样式既然与数据分离那么样式的切换则变得理所当然的了!但是网上这样的中文教程实在是太少了!所以我收集了一部分中外网站已经实现的技术资料整理出来供网友参考。首先要具备不同内容的CSS文件(最好每个文件代表一种样式,或是代表需要作出变动的部分)。这里以三个为例:第一个是背景为红色的CSS文件(red.css)CSS中的内容为:Copy codebody {background-color:red;}第二个是背景为绿色的CSS文件(green.css)CSS中的内容为:Copy codebody {background-color:green;}第三个是背景为黄色的CSS文件(yellow.css)CSS中的内容为:Copy codebody {background-color:yellow;}然后在xthml文件中加入这三个CSS的链接Copy codelink rel=alternate stylesheet href=\#\ type=text/css title=red media=screen, projection/link rel=stylesheet href=green.css type=text/css title=green media=screen, projection/link rel=alternate stylesheet href=yellow.css type=text/css title=yellow media=screen, projection/这三个中除了title不一样外还有一个地方有所不同,那就是REL。第一个与第三个都是alternate stylesheet只有第二个是stylesheet。这第二个就是当然样式。在链接下面再导入一个JS文件,用来控制这个样式切换Copy codefunction setActiveStyleSheet(title) { var i, a, main; if (title) { for(i=0; (a = document.getElementsByTagName(link)[i]); i++) { if(a.getAttribute(rel).indexOf(style) != -1 a.getAttribute(title)) { a.disabled = true; if(a.getAttribute(title) == title) a.disabled = false; } } } } function getActiveStyleSheet() { var i, a; for(i=0; (a = document.getElementsByTagName(link)[i]); i++) { if(a.getAttribute(rel).indexOf(style) != -1 a.getAttribute(title) !a.disabled) return a.getAttribute(title); } return null;}在合适的地方加入三个切换按钮Copy codea href=\#\ :void() return false; title=红色样式/aa href=\#\ :void() return false; title=绿色样式/aa href=\#\ :void() return false; title=黄色样式/aa href=\#\ :void() return false; title=没有样式/a好了发布试试点那三个切换链接!是不是已经切换了样式?补遗:带有记忆功能的JS文档Copy codefunction setActiveStyleSheet(title) {var i, a, main;for(i=0; (a = document.getElementsByTagName(link)[i]); i++) {if(a.getAttribute(rel).indexOf(style)!= -1 a.getAttribute(title)) {a.disabled = true;if(a.getAttribute(title) == title)a.disabled = false;}}}function getActiveStyleSheet() {var i, a;for(i=0; (a = document.getElementsByTagName(link)[i]); i++) {if(a.getAttribute(rel).indexOf(style)!= -1 a.getAttribute(title) !a.disabled)return a.getAttribute(title);}return null;}function getPreferredStyleSheet() {var i, a;for(i=0; (a = document.getElementsByTagName(link)[i]); i++) {if(a.getAttribute(rel).indexOf(style) != -1 a.getAttribute(rel).indexOf(alt) == -1 a.getAttribute(title)) return a.getAttribute(title);}return null;}function createCookie(name,value,days) {if (days) {var date = new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires = ; expires=+date.toGMTString();}else expires = ;document.cookie = name+=+value+expires+;path=/;}function readCookie(name) {var nameEQ = name + =;var ca = document.cookie.split(;);for(var i=0;i ca.length;i++) {var c = ca[i];while (c.charAt(0)== ) c = c.substring(1,c.length);if (c.indexOf(nameEQ) == 0) returnc.substring(nameEQ.length,c.length);}return null;}window.onload = function(e) {var cookie = readCookie(style);var title = cookie ? cookie :getPreferredStyleSheet();setActiveStyleSheet(title);}window.onunload = function(e) {var title = getActiveStyleSheet();createCookie(style, title, 365);}var cookie = readCookie(style);var title = cookie ? cookie :getPreferredStyleSheet();setActiveStyleSheet(title);
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的内容,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。本博客资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。如果本文导致的版权问题以及内容纠错问题请联系站长QQ:1004619 |
点此给我发送邮件 本文标题:
JS 鼠标点击切换网站颜色样式方法 本文地址:
https://www.1004619.com/nn/jssbdjqhwzysysff.html