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 相关文章推荐
createTextRange()的使用示例含文本框选中部分文字内容
Feb 24 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
Jun 23 Javascript
jQuery插件scroll实现无缝滚动效果
Apr 27 Javascript
javascript实现检验的各种规则
Jul 31 Javascript
详解jQuery插件开发方式
Nov 22 Javascript
纯JS实现弹性导航条效果
Mar 06 Javascript
JS实现微信摇一摇原理解析
Jul 22 Javascript
详解基于webpack2.x的vue2.x的多页面站点
Aug 21 Javascript
vue如何引入sass全局变量
Jun 28 Javascript
利用Promise自定义一个GET请求的函数示例代码
Mar 20 Javascript
Vue中多元素过渡特效的解决方案
Feb 05 Javascript
vue自定义指令限制输入框输入值的步骤与完整代码
Aug 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
饭制《星际争霸》Mod:优化游戏机制 增加新单位
2017/07/02 星际争霸
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
Yii2 rbac权限控制之菜单menu实例教程
2016/04/28 PHP
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
2016/06/07 Javascript
最常见的左侧分类菜单栏jQuery实现代码
2016/11/28 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
JS数据类型判断的几种常用方法
2020/07/07 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
Python文本相似性计算之编辑距离详解
2016/11/28 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
老生常谈Python序列化和反序列化
2017/06/28 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
Django 重写用户模型的实现
2019/07/29 Python
python中取绝对值简单方法总结
2020/07/24 Python
创业计划书如何吸引他人眼球
2014/01/10 职场文书
就业协议书样本
2014/08/20 职场文书
志愿者服务宣传标语口号
2015/12/26 职场文书
python实现大文本文件分割成多个小文件
2021/04/20 Python
python 判断文件或文件夹是否存在
2022/03/18 Python