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 相关文章推荐
静态页面的值传递(三部曲)
Sep 25 Javascript
zShowBox 图片放大展示jquery版 兼容性
Sep 24 Javascript
jQuery基础框架浅入剖析
Dec 27 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
Mar 19 Javascript
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
May 08 Javascript
javascript获得当前的信息的一些常用命令
Feb 25 Javascript
js点击返回跳转到指定页面实现过程
Aug 20 Javascript
jQuery超简单遮罩层实现方法示例
Sep 06 jQuery
video.js 一个页面同时播放多个视频的实例代码
Nov 27 Javascript
Node.js + express基本用法教程
Mar 14 Javascript
JS使用H5实现图片预览功能
Sep 30 Javascript
ES6 解构赋值的原理及运用
May 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
让Json更懂中文(JSON_UNESCAPED_UNICODE)
2011/10/27 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
javascript 模拟点击广告
2010/01/02 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
javascript(js)的小数点乘法除法问题详解
2014/03/07 Javascript
利用原生JavaScript获取元素样式只是获取而已
2014/10/08 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
利用纯js + transition动画实现移动端web轮播图详解
2017/09/10 Javascript
详解解决使用axios发送json后台接收不到的问题
2018/06/27 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
Python中的列表生成式与生成器学习教程
2016/03/13 Python
python操作mysql数据库
2017/03/05 Python
TensorFlow损失函数专题详解
2018/04/26 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
python怎么调用自己的函数
2020/07/01 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
工程造价管理专业大专生求职信
2013/10/06 职场文书
数控个人求职信范文
2014/02/03 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
比赛主持人开场白
2015/05/29 职场文书
食堂管理制度范本
2015/08/04 职场文书
《老人与海鸥》教学反思
2016/02/16 职场文书
2016年大学生党员承诺书
2016/03/24 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL