为了更好的提升用户体验,很多网页都有换肤的功能,那么这是怎么实现的那,其实,换肤只不过是在对应的位置改了Css样式罢了!!
下面就演示如何简单的换肤
在设计HTmL代码时,注意一些小技巧,可以将皮肤选项按钮的id设置成和皮肤样式文件名称相同,这样皮肤切换的操作就简单多了样式连接要带一个有Id样式的连接表,通过操作该链接的href属性的值,从而实现换肤。即: 用户点击完就可以换肤了,但是,当用户刷新或者关闭浏览器时,皮肤又会被初始化,所以考虑用CooKie保存当前选择:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title></title> <link href="https://www.jb51.net/css/default.css" type="text/css" /> <link href="https://www.jb51.net/css/skin_0.css" type="text/css" /> <!-- 引入jQuery --> <script src="https://www.jb51.net/scripts/jquery-1.3.1.js" type="text/javascript"></script> <!-- 引入jQuery的cookie插件 --> <script src="https://www.jb51.net/js/jquery.cookie.js" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ $(function(){ var $li =$("#skin li"); $li.click(function(){ switchSkin( this.id ); }); var cookie_skin = $.cookie( "MyCssSkin"); if (cookie_skin) { switchSkin( cookie_skin ); } }); function switchSkin(skinName){ $("#"+skinName).addClass("selected").siblings().removeClass("selected"); //当前<li>元素选中 //去掉其它同辈<li>元素的选中 $("#cssfile").attr("href","css/"+ skinName +".css"); //设置不同皮肤 $.cookie( "MyCssSkin" , skinName , { path: 'https://www.jb51.net/', expires: 10 }); } //]]> </script> </head> <body> <ul> <li title="灰色">灰色</li> <li title="紫色">紫色</li> <li title="红色">红色</li> <li title="天蓝色">天蓝色</li> <li title="橙色">橙色</li> <li title="淡绿色">淡绿色</li> </ul> <div> <div> <h1>时事新闻</h1> </div> </div> <div> <div> <h1>娱乐新闻</h1> </div> </div> </body> </html>