<!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. NX二次开发CreateDialog函数在UI.hxx文件和WinUser.h中的冲突【转载】

    文章出自https://blog.csdn.net/qq_41843732/article/details/91422764 在UG二次开发中,若使用MFC库,一旦加上#include<Afx. ...

  2. js设计模式——4.迭代器模式

    js设计模式——4.迭代器模式 代码演示 /*js设计模式——迭代器模式*/ class Iterator { constructor(container) { this.list = contain ...

  3. mvn eclipse:eclipse

    pom.xml 在哪个文件夹, 你就在哪里按shift 右键,,[在此处打开命令窗口]  执行那个命令. mvn eclipse:eclipse

  4. js获取url中的中文参数出现乱码

    解决方法 function getQueryString(key){ var reg = new RegExp("(^|&)"+key+"=([^&]*) ...

  5. 在Linux下编译带调试功能的Bochs

    在Linux下使用Bochs参考: http://wangcong.org/articles/bochs.html http://kinglaw05.blog.163.com/blog/static/ ...

  6. JHipster研究

    liquibase工作原理: master.xml用来维护所有变更记录文件引用 changelog文件夹用来保存具体的变更细节 系统启动时会比较master.xml中include的file,应用差异 ...

  7. ASP.net简单分页

    //控制器 //实例化实体 TestEntities1 test =new TestEntities1(); //定义页数 int pageIndex; //查看接收的页数 如果不能转 则重置为1 i ...

  8. linux 套接字

    三.命名套接字 之前的socket只是创建了一个没有名字的资源,其他进程无法访问他.所以也无法从它接受消息.只有当bind给套接字绑定了端口和名字后,其他进程才能找到它. 一般服务器是一定要bind, ...

  9. 6.Srust2结果页面跳转

    1. 结果页面存在两种方式 * 全局结果页面 > 条件:如果<package>包中的一些action都返回success,并且返回的页面都是同一个JSP页面,这样就可以配置全局的结果 ...

  10. BCZM : 1.15

    数独 解法一:广度优先搜索. 解法二:先填满中间矩阵,其他区域通过矩阵置换求出.