<!DOCTYPE html>
<html lang="en">
<head>
<script src="http://code.jquery.com/jquery-1.11.3.js"></script>
<script src="jquery.cookie.js"></script>
<link rel="stylesheet" href="css/default.css">
<link rel="stylesheet" href="css/skin_01.css" id='cssfile'>
<script type="text/javascript">
$(function () {
$('#skin ul li').click(function () {
// this.id=$(this).attr('id')
$('#'+this.id).addClass('checked').siblings().removeClass('checked');
//这个可以单做Input中的radio使用
$('#cssfile').attr('href',"css/"+this.id+".css");
//这里可以通过设置link的href属性来覆盖
$.cookie('mycssskin',this.id,{path:'/',expires:10});
});
var cookie_skin=$.cookie('mycssskin');
if(cookie_skin){
$('#'+cookie_skin).addClass('checked')//当前li元素被选中
.siblings().removeClass('checked');
$('#cssfile').attr('href',"css/"+cookie_skin+".css");
$.cookie('mycssskin',cookie_skin,{path:'/',expires:10});
}
});
</script>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="main">
<div id="skin">
<ul>
<li title="紫色" id='skin_01' class='skin_01 checked'></li>
<li title="红色" id='skin_02' class='skin_02 '></li>
<li title="蓝色" id='skin_03' class='skin_03'></li>
<li title="绿色" id='skin_04' class='skin_04'></li>
<li title="黄色" id='skin_05' class='skin_05'></li>
<li title="粉色" id='skin_06' class='skin_06'></li>
</ul>
</div>
<div class="hello">
<div class='item'><a href="javascript:;" class='title'>时事新闻</a></div>
<div class='item'><a href="javascript:;" class='title'>娱乐新闻</a></div>
</div> </div>
</body>
</html>
<!-- 问题是下面2 个样式的位置不能调
用ul li 作为父布局 div中的a最为子布局定位,发现2个会重合
得用上面的div最为父布局 下面的div最为子布局才行
问题2打钩的时候发现有边距。
通过设置padding和图片大小怎么也去不掉,坑爹的是发现阿里的图片自身带有边距
问题3 ' "的问题
有要嵌入的话,最后直接用"
-->
*{margin:;padding:}
#main{position: absolute;left:50%;top:100px;width: 200px;margin-left: -100px;}
#skin{position: relative;}
#skin ul li{float: left; list-style: none;margin-right: 5px;}
.skin_01{ background:#13227a;}
.skin_02{ background:#d81e06;}
.skin_03{ background:#1296db;}
.skin_04{ background:#1afa29;}
.skin_05{ background:#f4ea2a;}
.skin_06{ background:#d4237a;}
/*通过给每一个li设置背景色*/
#main .hello{clear: both;position: absolute;top:50px;left:-10px;}
#main .item {display: inline;}
#main .item a{text-decoration: none;width: 100px;height: 40px;line-height: 40px;
border: 1px solid #ccc;text-align: center;padding: 10px;}
#skin li{width:20px; height: 20px;}
.checked{background:url(../image/skin_01.png);background-size:cover;}
/*这是选中后的样式*/
.hello .item a{background:#13227a;}
/*这是下面的标签的样式*/

jq页面换肤效果的更多相关文章

  1. javascript 入门之简单换肤效果

    大家好,我是小强老师,这里简单入门 做一个换肤效果 效果如图所示: 这个案例思路分为两部分: 获取元素对象. var pic1 = document.getElementById('pic1'); v ...

  2. 简单实现WPF界面控件换肤效果

    效果如下如图:选择皮肤颜色 1.首先新建一个如图界面: 选择匹夫下拉框Xaml代码如下:三种颜色选项,并触发SelectionChanged事件 <ComboBox Height="2 ...

  3. js实现换肤效果

    一,js换肤的基本原理 基本原理很简单,就是使用 JS 切换对应的 CSS 样式表文件.例如导航网站 Hao123 的右上方就有网页换肤功能.除了切换 CSS 样式表文件之外,通常的网页换肤还需要通过 ...

  4. 基于js的网页换肤(不需要刷新整个页面,只需替换css文件)

    1. [代码][JS]代码    <HTML><HEAD><link ID="skin" rel="stylesheet" typ ...

  5. hybird之web动态换肤实现

    前言 最近在重构个hybird(原生的壳包着Web页面)的UI框架,进行到了做换肤功能的阶段,所以这里是我思考的解决的方法. 预想 目前实现换肤的功能无非就两种做法. 1.写几个皮肤文件,然后切换使用 ...

  6. Android主题换肤 无缝切换

    2016年7月6日 更新:主题换肤库子项目地址:ThemeSkinning,让app集成换肤更加容易.欢迎star以及使用,提供改进意见. 更新日志: v1.3.0:增加一键切换切换字体(初版)v1. ...

  7. Android QMUI实战:实现APP换肤功能,并自动适配手机深色模式

    Android换肤功能已不是什么新鲜事了,市面上有很多第三方的换肤库和实现方案. 之所以选择腾讯的QMUI库来演示APP的换肤功能,主要原因: 1.换肤功能的实现过程较简单.容易理解: 2.能轻松适配 ...

  8. WPF换肤之五:创建漂亮的窗体

    原文:WPF换肤之五:创建漂亮的窗体 换肤效果 经过了前面四章的讲解,我们终于知道了如何拖拉窗体使之改变大小,也知道了如何处理鼠标事件,同时,也知道了如何利用更好的编写方式来编写一个方便实用和维护的换 ...

  9. antd在线换肤定制功能

    最近react项目,用的antd框架,然后看见他的antdPro例子里面有个定制功能很帅,老大说做,那就做吧,鼓捣了一晚终于实现了. 先看预览效果吧 css换肤 入行前端的时候经常看鱼哥(张鑫旭)的博 ...

随机推荐

  1. JSON.NET与LINQ序列化示例教程

    1.手动创建JSON对象和数组 JSON格式主要包括对象和数组两种形式,在JSON.NET中分别用JArray和JObject表示,属性用JProperty表示,属性值用 JValue表示,这些对象都 ...

  2. 组合数学(math)

    组合数学(math) 题目描述 为了提高智商,zjy开始学习组合数学.某一天她解决了这样一个问题:“给一个网格图,其中某些格子有财宝.每次从左上角出发,只能往右或下走.问至少要走几次才能把财宝全部捡完 ...

  3. 【系统安全性】四、认证Authentication

    四.认证Authentication 1.为什么要认证 对请求.数据进行认证,判断伪造的数据 HTTP请求很脆弱,抓包软件很强大,容易伪造身份,非法获取数据 2.摘要认证 对象:客户端参数.服务端响应 ...

  4. python中的缓存技术

    python缓存技术 def console(a,b): print('进入函数') return (a,b) print(console(3,'a')) print(console(2,'b')) ...

  5. setjmp与longjmp的分析

    #include <setjmp.h> int main(int argc, const char* argv[]) {   jmp_buf buf = {0,}; int k = 0; ...

  6. Error: EBUSY: resource busy or locked, symlink "xxx" 的解决方法

    上面是报错信息. 解决方法:当我们在npm i 安装依赖的时候,会遇到这个Error: EBUSY: resource busy or locked, symlink....的问题.解决的 办法就是关 ...

  7. Windows7下命令行使用MySQL

    我在Win7下安装的MySQL版本是mysql-5.0.22-win32 1.在Win7环境下安装MySQL,关于安装方法可以参考文章: Win7系统安装MySQL5.5.21图解教程.win7安装M ...

  8. centos7下jenkins升级

    systemctl stop jenkins cd cd /usr/lib/jenkins/ mv jenkins.war jenkins.war.bac rz #上传下载好的最新jinkens.wa ...

  9. python 中 random模块的用法

    import random print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数 print( random.random() ) # 产生 0 到 ...

  10. zabbix--zabbix server的配置以及zabbix agent的安装配置

    1.zabbix  server端的配置在进行源码安装zabbix时已经配置好了,具体要配置的参数如下: ListenPort=10051 server服务的监听端口,默认是10051 DBHost= ...