使用jQuery UI插件实现切换主题功能——经验小结

最近为了美化页面,想在项目中加入主题切换的功能,网上查了好久,决定使用jQuery UI插件来实现,之所以要使用jQuery UI,是因为它自带了很多种主题包,只需下载引入即可使用,方便快捷。具体操作步骤如下:

1. 下载主题包

首先来看下jQuery UI提供的主题包:http://jqueryui.com/themeroller/

里面的主题各式各样,还可以自定义主题,挑选合适的主题包下载,这里选取前4个,

目前最新版本是1.12.1,这里选用1.10.4版本,个人感觉这个版本比较好用,下载完成后解压如下图:

对比四个压缩包中的内容,会发现除了css文件夹中的内容不同,其他内容均相同,这就是问题的切入点,在页面中可以通过点击事件更改css的引入路径来实现主题的切换。

2. 合并四个主题包中的css文件夹

将其他三个主题包中的ui-lightness,ui-darkness,smoothness文件夹放到base文件夹所在的css文件夹中,

打开index.html,现在的页面是这个样子的,

为了实现切换主题的功能,在页面上添加四个按钮对应切换四个主题,代码为:

<button id="base">base</button>

<button id="ui-lightness">ui-lightness</button>

<button id="ui-darkness">ui-darkness</button>

<button id="smoothness">smoothness</button>

按钮效果是这样的:

这时会发现这些按钮并没有被渲染成jQuery UI自带的效果,仔细观察index.html页面代码,

我们需要对按钮进行”UI化”,添加以下代码:

$( "#base" ).button();

$( "#ui-lightness" ).button();

$( "#ui-darkness" ).button();

$( "#smoothness" ).button();

此时再看效果就有了。

注:使用UI不同的标签都要对其进行UI化,否则是没有效果的,

可根据自己的需要对其进行操作。

3.利用点击事件切换主题

观察index.html页面代码发现,

<link href="css/base/jquery-ui-1.10.4.custom.css" rel="stylesheet">

现在的主题包引用的是base, 要想改为其他主题,就要修改它的路径href,为了便于选定,给<link>加上id

<link id=”ctrl-theme” href="css/base/jquery-ui-1.10.4.custom.css" rel="stylesheet">

接着使用js控制点击事件,

$("button").click(function(){

get_id = $(this).attr("id");//获取当前被点击按钮的id

new_href = "css/"+get_id+"/jquery-ui-1.10.4.custom.css";//形成新路径

$("#ctrl-theme").attr("href",new_href);//赋给<link>标签的href

});

此时功能已经实现了,点击不同的按钮将切换至不同的主题

4.最后将用户选择的主题信息存放到cookie,完成。

是不是很方便呢^。^

时间: 2024-10-10 11:38:42

使用jQuery UI插件实现切换主题功能——经验小结的相关文章

jQuery实现无刷新切换主题皮肤功能

jQuery实现无刷新切换主题皮肤功能 helloweba.com 作者:月光光 时间:2010-12-13 12:49 主题皮肤切换功能在很多网站和系统中应用,用户可以根据此功能设置自己喜欢的主题颜色风格,增强了用户体验.本文将围绕如何使用jQuery实现点击无刷新切换主题皮肤功能. 查看演示 实现该功能的原理就是通过点击定义的主题样式,改变页面当前引用的主题CSS文件,并且将当前的主题样式写入cookie中或者写入数据库中,以便下次该用户重新访问页面时,调用的就是上次设置好的主题样式. 准备

JavaScript之jQuery-8 jQuery 使用插件(zTree树插件、jQuery UI插件)

一.jQuery zTree树控件 zTree介绍 - zTree 是利用jQuery的核心代码,实现一套能完成常用功能的Tree插件 - 兼容IE.FireFox.Chrome 等主流浏览器 - 支持 JSON 数据 - 支持一次性静态生成和Ajax异步加载两种方式 - 支持tree的节点移动.编辑.删除 zTree使用步骤 - step 1: 下载zTree相关文件(js.css) - 下载地址: http://www.ztree.me/ - step 2: 引入相关文件 - css: 样式

第七章(插件的使用和写法)(7.4 jQuery UI 插件 7.5 管理Cookie的插件 --- Cookie)

7.4 jQuery UI 插件 7.4.1 jQuery UI 简介 jQuery UI 主要分为3个部分,交互.微件和效果差: ? 交互.这里都是一些与鼠标交互相关的内容,包括拖动(Draggable).置放(Droppable).缩放(Resizable).选择(Selectable)和排序(Sortable)等待.微件(Widget)中有部分是基于这些交互组件来制作的.此库需要一个 jQuery UI 核心库 ----- ui.core.js 支持. ? 微件.这里主要是一些界面的扩展.

JQuery UI 插件 写 calendar 控件

直接上代码 <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>jQuery UI Datepicker - Default functionality</title><link href="~/Content/t

jquery ui 插件-------------------------&gt;sortable

<!doctype html><html lang="en"><head>  <meta charset="utf-8">  <title>jQuery UI Sortable - Drop placeholder</title>  <link rel="stylesheet" href="https://code.jquery.com/ui/1.11.4/t

Jquery Ui AutoComplete自动填写的功能

用到的jquery 和jquery ui 的版本如下: jQuery v1.12.4 jQuery UI - v1.11.0 有部分版本会有一些这样那样的问题,具体原因未深究. jquery 的代码如下 $("#id_customer").autocomplete({ source:function (request,response) { var findResult = []; $.ajax({ url:"/ips/get_customername_list/"

jQuery 常用插件和UI插件 总结笔记

1. jQuery 常用插件 (1). 表单验证插件--validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:$(form).validate({options});其中form参数表示表单元素名称,options参数表示调用方法时的配置对象,所有的验证规则和异常信息显示的位置都在该对象中进行设置. Jquery Validate 验证规则 (1)required:true 必输字段 (2)remote:"check.

jQuery基础(常用插件 表单验证,图片放大镜,自定义对象级,jQuery UI,面板折叠)

1.表单验证插件--validate   该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下: $(form).validate({options}) 其中form参数表示表单元素名称,options参数表示调用方法时的配置对象,所有的验证规则和异常信息显示的位置都在该对象中进行设置.     2.表单插件--form 通过表单form插件,调用ajaxForm()方法,实现ajax方式向服务器提交表单数据,并通过方法中的option

使用Jquery UI 高仿百度搜索下拉列表功能

最近项目有个需求,在新添加商户的时候,用户输入商户名称后,如果系统中有类似的商户名称,直接显示出来,如下图的效果: 实现这个功能,直接使用了JQuery UI 插件 目前我使用的实现版本是: 网友可以自行下载好js文件,css文件,放在你项目可以访问到位置就可以了. 引入这些文件之后,你就可以复制使用下面的页面来测试(注意引用文件的路径): <!doctype html><html lang="en"><head> <meta charset=