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学习基础笔记之DOM对象操作
Nov 03 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
Jan 30 Javascript
JavaScript删除指定子元素代码实例
Jan 13 Javascript
详解JavaScript中循环控制语句的用法
Jun 03 Javascript
js 声明数组和向数组中添加对象变量的简单实例
Jul 28 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
Aug 05 Javascript
AngularJS包括详解及示例代码
Aug 17 Javascript
Javascript+CSS3实现进度条效果
Oct 28 Javascript
JavaScript实现256色转灰度图
Feb 22 Javascript
浅谈在koa2中实现页面渲染的全局数据
Oct 09 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
Mar 08 Javascript
Vue axios 跨域请求无法带上cookie的解决
Sep 08 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
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
Zend公司全球首推PHP认证
2006/10/09 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
javascript函数特点实例分析
2015/05/14 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
12个超实用的JQuery代码片段
2015/11/02 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
原生js滑动轮播封装
2020/07/31 Javascript
详解Vue的七种传值方式
2021/02/08 Vue.js
Python代理抓取并验证使用多线程实现
2013/05/03 Python
python基础教程之缩进介绍
2014/08/29 Python
python通过索引遍历列表的方法
2015/05/04 Python
python实现自动更换ip的方法
2015/05/05 Python
Python 用Redis简单实现分布式爬虫的方法
2017/11/23 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
材料成型专业个人求职信范文
2013/09/25 职场文书
秘书专业自荐信范文
2013/12/26 职场文书
《庐山的云雾》教学反思
2014/04/22 职场文书
留学推荐信范文
2014/05/10 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
学生个人评语大全
2015/01/04 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书
python xlwt模块的使用解析
2021/04/13 Python
Python爬虫框架之Scrapy中Spider的用法
2021/06/28 Python
win10怎么设置右下角图标不折叠?Win10设置右下角图标不折叠的方法
2022/07/15 数码科技