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 相关文章推荐
12种不宜使用的Javascript语法整理
Nov 04 Javascript
自定义的一个简单时尚js下拉选择框
Nov 20 Javascript
js实现兼容IE和FF的上下层的移动
May 04 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
Dec 20 Javascript
jquery拼接ajax 的json和字符串拼接的方法
Mar 11 Javascript
微信小程序组件 marquee实例详解
Jun 23 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
Jan 03 Javascript
原生js实现拖拽功能基本思路详解
Apr 18 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
May 27 Javascript
vue+element的表格实现批量删除功能示例代码
Aug 17 Javascript
JavaScript键盘事件响应顺序详解
Sep 30 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
Jan 15 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
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
php 购物车实例(申精)
2009/05/11 PHP
Linux中为php配置伪静态
2014/12/17 PHP
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
javascript父、子页面交互技巧总结
2014/08/08 Javascript
简单谈谈javascript代码复用模式
2015/01/28 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
2016/08/29 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
使用axios请求时,发送formData请求的示例
2019/10/29 Javascript
理解Python中的With语句
2016/03/18 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
Python模块WSGI使用详解
2018/02/02 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
css3实现垂直下拉动画菜单示例
2014/04/22 HTML / CSS
HTML5引入的新数组TypedArray介绍
2012/12/24 HTML / CSS
迅雷Cued工作心得体会
2014/01/27 职场文书
高三自我评价
2014/02/01 职场文书
《绿色蝈蝈》教学反思
2014/03/02 职场文书
合作意向书范本
2014/03/31 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
接待员岗位职责
2015/02/13 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书