jquery的Theme和Theme Switcher使用小结


Posted in Javascript onSeptember 08, 2010

首先上一幅截图,效果不错吧:
jquery的Theme和Theme Switcher使用小结

一、引入jquery主题theme 
在head中引用jquery主题的CSS链接http://ajax.googleapis.com/ajax/libs/jqueryui/1.7/themes/base/jquery-ui.css还有许多其他不同的主题:base, black-tie, blitzer, cupertino, dark-hive, dot-luv, eggplant, excite-bike, flick, hot-sneaks, humanity, le-frog, mint-choc, overcast, pepper-grinder, redmond, smoothness, south-street, start, sunny, swanky-purse, trontastic, ui-darkness, ui-lightness, vader。只要将上面链接中的base替换成主题名即可切换不同的主题。 

二、使用jquery主题theme 
给想要装饰的部分加上class,如:<a class="ui-state-default ui-corner-all" href="#">Nothing's gonna change my love for you</a> 表示默认的ui, corner-all表示圆滑四个角。

jquery的Theme和Theme Switcher使用小结 

三、增加hover的效果

jquery的Theme和Theme Switcher使用小结

这里需要使用jquery的脚本。首先在head中引入jquery库 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> 
1.3表示1.3里面的最新版本,现在是1.3.2。 
然后手写脚本;

$(function(){$('.ui-state-default').hover(function(){$(this).addClass('ui-state-hover');},function(){$(this).removeClass('ui-state-hover');});});

这样就实现了鼠标移到上方是改变样式的效果了。

四、使用Theme Switcher在前台更换主题
先引入库

<script type="text/javascript" src="http://jqueryui.com/themeroller/themeswitchertool/"></script>

,然后可以在页面任何地方加入层<div id="switcher">主题切换功能载入中...</div>,我习惯将这个switch的wikget做成apDiv层,方便挪动合适的位置。最后手写script激活这个层:
$('#switcher').themeswitcher();

jquery的Theme和Theme Switcher使用小结

五、使网页记住自己的主题 
每次更换主题,jquery都会写入cookie的,要使网页记住自己的主题,只需要提取这个cookie出来,并且刷新页面的css即可。 
把脚本写出来 

$(function(){if(theme==null) updateCSS("http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css");else updateCSS("http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/"+theme+"/jquery-ui.css");}) 
function updateCSS(locStr){var cssLink=$('<link href="'+locStr+'"type="text/css" rel="Stylesheet" class="ui-theme"/>');$("head").append(cssLink);if($("link.ui-theme").size()>3){$("link.ui-theme:first").remove();}}

最后页面代码大概是这样子的:
<?xml version="1.0" encoding="UTF-8" ?> 
<%@ page language="java" contentType="text/html; charset=UTF-8" 
pageEncoding="UTF-8"%> 
<!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> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<style type="text/css"> 
#switcher { 
position:absolute; 
left: 564px; 
top: 20px; 
} 
</style> 
<script src="http://www.google.com/jsapi"></script> 
<script type="text/javascript">google.load("jquery","1.3.2");google.load("jqueryui","1.7.2");function OnLoad(){$('#switcher').html("");var theme=$.cookie('jquery-ui-theme');$(function(){if(theme==null) updateCSS("http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css");else updateCSS("http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/"+theme+"/jquery-ui.css");});$(function(){$('.ui-state-default').hover(function(){$(this).addClass('ui-state-hover');},function(){$(this).removeClass('ui-state-hover');});});$("#pic2").hide();$('#switcher').themeswitcher();}google.setOnLoadCallback(OnLoad);function updateCSS(locStr){var cssLink=$('<link href="'+locStr+'"type="text/css" rel="Stylesheet" class="ui-theme"/>');$("head").append(cssLink);if($("link.ui-theme").size()>3){$("link.ui-theme:first").remove();}} 
</script> 
<script type="text/javascript" src="http://jqueryui.com/themeroller/themeswitchertool/"></script> 
</script> 
<title></title> 
</head> 
<body> 
<div id="switcher">主题切换功能载入中...</div> 
<p><a class="ui-state-default ui-corner-all" href="http://mee-moo.googlecode.com/svn/trunk/resource/music/nothinggcmlfu.mp3">Nothing's gonna change my love for you</a></p> 
</body> 
</html>
Javascript 相关文章推荐
用javascript自动显示最后更新时间
Mar 15 Javascript
js继承 Base类的源码解析
Dec 30 Javascript
jquery实现的超出屏幕时把固定层变为定位层的代码
Feb 23 Javascript
jQuery中setTimeout的几种使用方法小结
Apr 07 Javascript
基于jquery自定义的漂亮单选按钮RadioButton
Nov 19 Javascript
js 去除字符串第一位逗号的方法
Jun 07 Javascript
JS跨域解决方案之使用CORS实现跨域
Apr 14 Javascript
微信小程序 教程之注册页面
Oct 17 Javascript
利用策略模式与装饰模式扩展JavaScript表单验证功能
Feb 14 Javascript
js原生方法被覆盖,从新赋值原生的方法
Jan 02 Javascript
浅谈React + Webpack 构建打包优化
Jan 23 Javascript
vue+axios实现post文件下载
Sep 25 Javascript
复制小说文本时出现的随机乱码的去除方法
Sep 07 #Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
Sep 06 #Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 06 #Javascript
Document对象内容集合(比较全)
Sep 06 #Javascript
Jquery优化效率 提升性能解决方案
Sep 06 #Javascript
jquery中this的使用说明
Sep 06 #Javascript
firefox下frameset取不到值的解决方法
Sep 06 #Javascript
You might like
【动漫杂谈】关于《请在T台上微笑》
2020/03/03 日漫
php中获取关键词及所属来源搜索引擎名称的代码
2011/02/15 PHP
php连接数据库代码应用分析
2011/05/29 PHP
PHP源代码数组统计count分析
2011/08/02 PHP
PHP简单日历实现方法
2016/07/20 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
jQuery live( type, fn ) 委派事件实现
2009/10/11 Javascript
avascript中的自执行匿名函数应用示例
2014/09/15 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
小程序开发中如何使用async-await并封装公共异步请求的方法
2019/01/20 Javascript
用python + openpyxl处理excel2007文档思路以及心得
2014/07/14 Python
windows下python连接oracle数据库
2017/06/07 Python
Django添加favicon.ico图标的示例代码
2018/08/07 Python
Django中的ajax请求
2018/10/19 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
Python数据可视化图实现过程详解
2020/06/12 Python
Python 实现一个简单的web服务器
2021/01/03 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
使用useBean标志初始化BEAN时如何接受初始化参数
2012/02/11 面试题
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
申报材料格式
2014/12/30 职场文书
龙门石窟导游词
2015/02/02 职场文书
全陪导游词
2015/02/04 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
婚宴祝酒词大全
2015/08/10 职场文书