惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
The Register - Security
The Register - Security
Stack Overflow Blog
Stack Overflow Blog
博客园 - 三生石上(FineUI控件)
T
Threat Research - Cisco Blogs
S
SegmentFault 最新的问题
V2EX - 技术
V2EX - 技术
Hacker News: Ask HN
Hacker News: Ask HN
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Proofpoint News Feed
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
AI
AI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
B
Blog
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
C
Cybersecurity and Infrastructure Security Agency CISA
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
U
Unit 42
腾讯CDC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
H
Help Net Security
Recent Announcements
Recent Announcements
P
Privacy & Cybersecurity Law Blog
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Archives - TechRepublic
Security Archives - TechRepublic
L
LINUX DO - 热门话题
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
H
Heimdal Security Blog
博客园 - 聂微东
S
Securelist
大猫的无限游戏
大猫的无限游戏
Cloudbric
Cloudbric
Cisco Talos Blog
Cisco Talos Blog

博客园 - 堕落的卖猪贩

C#控件访问调用它的父级页面 GridView,IE浏览器去掉行右边竖的黑线 用ThoughtWorks.QRCode生成二维码时出现“索引超出了数组界限”的错误 ViewState提交后丢失,竟然是OnInit搞的鬼 经典情景剧,我爱我家 ASP.NET生成WORD文档,服务器部署注意事项 position:absolute; div居中 WIN2003 IIS6 FastCGI php5.33配置重点 安装程序检测到计算机重新启动操作可能处于挂起状态 的解决方法[转] Windows 2008非服务器使用系统设置 SQL2008安装常见问题 windows 2008安装KB971513,API3.0提示更新不会应用到系统 将远程桌面mstsc放到桌面 ul li做标题列表中间出现多的一个空行,重复。 windows2008配置来 winform笔记 Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用 - 堕落的卖猪贩 Server Application Unavailable - 堕落的卖猪贩 深度GHOST安装,GHOST完毕后不能启动继续
CSS+JS;JS+CSS换肤总结
堕落的卖猪贩 · 2009-01-08 · via 博客园 - 堕落的卖猪贩

网上找了段换肤的代码,看了下其实也比较简单,主要就要用到他的GetCookie和SetCookie,其他的就根据自己需求改造了。

过程中前后遇到了几个问题所以就折腾了一晚上。为什么这些特殊问题都让我遇到。

我的css文件保存方式是,Skin目录下放置皮肤名文件夹,然后皮肤名文件夹下面都是相同的文件名css内容不同index.css和share.css等。index.css使用@import(share.css)导入共享样式。

一直调试换肤不成功。后来终于发现,不能动态的使用import样式。

于是就在页面中写入两个css文件链接。命名id为skin1和skin2,结果还是不成,alert显示skin1.href属性是null。刚才都可以的。然后写代码来比较。发现链接id的末尾是数字,那么都获取不了这个节点。

于是改名为skina和skinb。通过。

然后整理代码,归到各自链接文件里去,然后发现换肤后刷新,恢复到默认皮肤去了,没读取到cookie然后看了下变化。原来我把所有的一次运行文件都放到window.onload函数里去的。如果换肤的设置代码在这里执行始终是默认链接的皮肤。

最终代码如下。

然后js使用cookie直接双击文件,以文件的访问方式也可以测试换肤,不需要IIS架设站点来访问。

Header 部分
<link id="skina" href="Skin/default/index.css" rel="stylesheet" type="text/css">
<link id="skinb" href="Skin/default/share.css" rel="stylesheet" type="text/css">
<script src="Scripts/Lib.js" language="javascript"></script>

切换按钮

<div id="skin1" onclick="changecss('default')">默认样式</div>
<div id="skin2" onclick="changecss('blue')">蓝色样式</div>

因为我的CSS链接都是Skin/default/index.css和Skin/blue/index.css这样的变化,只是两个反斜杠中间的文件目录变化而已。

所以在setskin函数里用个正则,获取链接id的href属性,并从cookie读取文件夹名来重新设置href属性就可以了。

lib.js代码

Code

SetCookie和GetCookie函数

Code

总结:

1.css里不能通过import方法导入CSS,多个CSS只能加多个链接吧。

2.html页面中css链接代码命名id里不能有数字

3.js代码执行要放到链接css代码后面

4.执行代码不能放到window.onload函数里

改造原代码

Code