[锋利的jQuery-学习]网页换肤,使用cookies存储

初始化皮肤:







点击蓝色换肤框:


网页刷新后:


html源代码:

<body>
	<ul id="skin">
		<li id="skin_0" title="灰色" class="selected">灰色</li>
		<li id="skin_1" title="紫色">紫色</li>
		<li id="skin_2" title="红色">红色</li>
		<li id="skin_3" title="天蓝色">天蓝色</li>
		<li id="skin_4" title="橙色">橙色</li>
		<li id="skin_5" title="淡绿色">淡绿色</li>
	</ul>
	<div id="div_side_0">
		<div id="news">
			<h1 class="title">时事新闻</h1>
		</div>
	</div>
	<div id="div_side_1">
		<div id="game">
			<h1 class="title">娱乐新闻</h1>
		</div>
	</div>
</body>

jquery代码:

<script src="../scripts/jquery-1.8.0.js" type="text/javascript"></script>
<!--//引入jquery的cookie插件-->
<script src="js/jquery.cookie.js" type="text/javascript"></script>
<script type="text/javascript">
 $(function(){
	$("ul#skin li").click(function(){
		var index = $(this).attr("id");
		switch_skin(index);//每次点击换肤框就将新的皮肤样式写入cookie
	});
	var skinName = $.cookie("MyCssSkin");
	if(skinName){
		switch_skin(skinName);//如果cookie中保存有皮肤则加载保存的皮肤,如果点击换肤框则跳转到click时间更新
	}
 });
 function switch_skin(skinName){
	$("#"+skinName).addClass("selected").siblings().removeClass("selected");
	$("#cssfile").attr("href","css/"+skinName+".css");
	$.cookie( "MyCssSkin" ,  skinName , { path: '/', expires: 10 });//过期期限为10天
 }
</script>

测试的时候使用的是chrome,然后百度了一下chrome确实是不支持本地cookie的,online-cookie可以。

这不是我想要的效果,我更希望保存到服务器上,因为一旦用户删除cookie或者cookie的日期到期了,那么保存的皮肤就没有了、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值