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 相关文章推荐
基于JQuery的模拟苹果桌面Dock效果(稳定版)
Oct 15 Javascript
浅析JavaScript中两种类型的全局对象/函数
Dec 05 Javascript
Javascript实现返回上一页面并刷新的小例子
Dec 11 Javascript
Eclipse去除js(JavaScript)验证错误
Feb 11 Javascript
javascript实现倒计时(精确到秒)
Jun 26 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
Mar 25 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
Jun 25 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Dec 15 Javascript
js 实现省市区三级联动菜单效果
Feb 20 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
Jul 11 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
Oct 25 Javascript
vue - vue.config.js中devServer配置方式
Oct 30 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
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
fleaphp crud操作之findByField函数的使用方法
2011/04/23 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
php获取数据库结果集方法(推荐)
2017/06/01 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
Firefox和IE兼容性问题及解决方法总结
2013/10/08 Javascript
关于jquery的多个选择器的使用示例
2013/10/18 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
Windows下Python的Django框架环境部署及应用编写入门
2016/03/10 Python
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
Python定时器实例代码
2017/11/01 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
对python 命令的-u参数详解
2018/12/03 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
python多线程http压力测试脚本
2019/06/25 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
百货商场楼层班组长竞聘书
2014/03/31 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书