jQuery对表单、表格的操作及更多应用(下:其他应用)
内容摘录自锋利的JQuery一书
三、其他应用
1 网页字体大小控制(P164)
<span class="bigger">放大</span>
<span class="smaller">缩小</span>
<p id="para"></p>
$(function(){
$("span").click(function(){
var thisEle = $("#para").css("font-size");//获取当前字号,带单位
var textFontSize = parseFloat(thisEle,10);//解析字符串并返回数字,参数10代表10进制
var unit = thisEle.slice(-2);//slice()方法返回字符串中从指定的字符开始的一个子字符串,
//用以截取单位
var cName = $(this).attr("class");//此处和下面的判断很有意思,可以免得再写一遍代码
if(cName == "bigger"){
if(textFontSize <= 22){//限制无限放大
textFontSize += 2;//加大字号
}
}else if(cName == "smaller"){
if(textFontSize >= 12){//限制无限缩小
textFontSize -= 2;
}
}
$(#para).css("font-size",textFontSize + unit);//记得拼上单位
});
});
2 网页选项卡(P167)
<div class="tab">
<div class="tab_menu">
<ul>
<li class="selected">选项1</li>
<li class="selected">选项2</li>
<li class="selected">选项3</li>
</ul>
</div>
<div class="tab_box">
<div>选项1对应内容</div>
<div class="hide">选项2对应内容</div>
<div class="hide">选项3对应内容</div>
</div>
</div>
var $div_li = $(".tab_menu ul li");
$div_li.click(function(){
$(this).addClass("selected").siblings().removeClass("selected");//当前选项设置选中状态,
//其他选项移除选中状态
var index = $div_li.index(this);//获取当前单击的li元素在全部li元素中的索引,这个很有意思
$(".tab_box > div").eq(index).show().siblings().hide();//根据选项的索引
//设置选项对应内容的显示或隐藏状态
}).hover(function(){
$(this).addClass("hover");//设置鼠标经过状态
},function(){
$(this).removeClass("hover");//移除鼠标经过状态
});
3 网页换肤(P169)
通过更换css并且记录进cookie实现换肤功能
<!--引入带id的css-->
<link href="css/skin_0.css" rel="stylesheet" type="text/css" id="cssfile" />
<!--引入cookie插件,本插件下载地址:http://plugins.jquery.com/project/cookie,
//介绍见本书P237-->
<script src="js/jquery.cookie.js" type="text/javascript"></script> <!--换肤按钮-->
<ul id="skin">
<li id="skin_0" title="皮肤0" class="selected">皮肤0</li>
<li id="skin_1" title="皮肤1">皮肤1</li>
<li id="skin_2" title="皮肤2">皮肤2</li>
</ul>
var $li = $("#skin li");
$li.click(function(){
$("#" + this.id).addClass("selected").siblings().removeClass("selected");
//以id为选择器,当前设置选中,其他移除选中
$("#cssfile").attr("href","css/" + this.id + ".css");//把id赋给href作为css名称,
//达到换肤目的
$.cookie("MyCssSkin",this.id,{path: '/', expires:10});//把当前id记入cookie并命名
});
var cookie_skin = $.cookie("MyCssSkin");
if(cookie_skin){//判断cookie存在
$("#"+cookie_skin).addClass("selected").siblings().removeClass("selected");
//以cookie记录的id为选择器,当前设置选中,其他移除选中
$("#cssfile").attr("href","css/" + cookie_skin + ".css");
//cookie记录的id赋给href作为css名称,达到换肤目的
$.cookie("MyCssSkin",cookie_skin,{path: '/', expires:10});
//把cookie记录的id重新记入cookie
}
因click事件中的函数内容与if(cookie_skin){}内的判断内容相似,只有一个变量不同,因此可以通过给函数传递不同的参
数,达到多次调用(抽象化)的目的。
function switchSkin(skinName){
$("#"+skinName).addClass("selected").siblings().removeClass("selected");
$("#cssfile").attr("href","css/" + skinName + ".css");
$.cookie("MyCssSkin",skinName,{path: '/', expires:10});
}
$(function(){
var $li = $("#skin li");
$li.click(function(){
switchSkin(this.id);
});
var cookie_skin = $.cookie(MyCssSkin");
if(cookie_skin){
switchSkin(cookie_skin);
}
});
jQuery对表单、表格的操作及更多应用(下:其他应用)的更多相关文章
- jQurey对表单表格的操作及更多应用(方法型)
- jQuery(6)——jQuery对表单、表格的操作及更多应用
jQuery对表单.表格的操作及更多应用 [表单应用] 一个表单有表单标签.表单域及表单按钮三个基本部分. 单行文本框应用:获取和失去焦点改变样式. 也可以用CSS中的伪类选择符来实现,但是IE6并不 ...
- jQuery 对表单、表格的操作及更多应用-简略笔记
[jQuery 对表单.表格的操作及更多应用] jquery对表单及表格的操作是实际应用中相当广泛. 对于表单的操作,可以实现 (1)获取和失去焦点改变样式: (2)在多行文本框中可以实现网站评论框的 ...
- (十)jQuery对表单、表格的操作
一.表单应用 1.HTML中的表单大致由三部分组成 (1).表单标签:包含处理表单数据所用的服务端程序URL,以及数据提交到服务器的方法. (2).表单域:包含文本框.密码框.隐藏域.多行文本框.复选 ...
- 第5章 jQuery对表单、表格的操作及更多应用
本章主要是对前面4章的小结和应用. 一. 表单form应用 表单分为3个组成部分 (1)form标签 表单可包含文本域,复选框,单选按钮等等.表单用于向指定的 URL 传递用户数据. (2)表单域 - ...
- jQuery对表单、表格的操作以及更多应用
表单和表格都是HTML的重要组成部分,分别用于采集.提交用户输入的信息和显示列表数据. 表单应用:一个表单有3个基本组成部分: ①表单标签:包含处理表单数据所用的服务器端程序URL以及数据提交到服务器 ...
- jQuery对表单、表格的操作及更多应用(上:表单应用)
内容摘录自锋利的JQuery一书 一.表单应用 1 获取和失去焦点改变样式(P142) $(function(){ $(":input").focus(function(){ // ...
- jQuery对表单、表格的操作及更多应用(中:表格应用)
内容摘录自锋利的JQuery一书 二.表格应用 1 表格隔行变色(:odd和:even选择器 P157) $(function(){ $("tr:odd").addClass(&q ...
- jQuery对表单、表格的操作及更多应用
<head> <style type="text/css"> .even { background-color: #fff38f;/*偶数行样式*/ ...
随机推荐
- subverison的安装与注意事项
1.安装 :官网下载 http://blog.csdn.net/sinboy/article/details/4000524 http://sourceforge.net/projects/win32 ...
- zoj.3868.GCD Expectation(数学推导>>容斥原理)
GCD Expectation Time Limit: 4 Seconds Memory Limit: 262144 KB ...
- CocoStudio基础教程(5)使用CocoStudio场景编辑器关联组件
1.概述 我们有了UI交互.有了动画人物.有了物理模拟,还差最后一步——将这些元素融合起来.这就要用到cocoStudio中的场景编辑器了.这次我们要将先前我们做过的所有东西都放到一个场景中去.这项工 ...
- [BZOJ3672][UOJ#7][NOI2014]购票
[BZOJ3672][UOJ#7][NOI2014]购票 试题描述 今年夏天,NOI在SZ市迎来了她30周岁的生日.来自全国 n 个城市的OIer们都会从各地出发,到SZ市参加这次盛会. ...
- 翻译:非常详细易懂的法线贴图(Normal Mapping)
翻译:非常详细易懂的法线贴图(Normal Mapping) 本文翻译自: Shaders » Lesson 6: Normal Mapping 作者: Matt DesLauriers 译者: Fr ...
- Tomcat ClassLoader机制介绍
本文旨在介绍JVM的类加载机制:同时分析Tomcat不能采用默认的加载机制的原因,并对其加载机制做了介绍. 1.JVM中的类加载机制 在Java2之后的版本中,类的加载采用的是一种称为双亲委派的代理模 ...
- 配置oss bucket cors
到bucket中属性中选择跨越设置,点击添加规则会看到以下界面: 对应的输入如上即可.
- spring3.0+Atomikos 构建jta的分布式事务 -- NO
摘自: http://gongjiayun.iteye.com/blog/1570111 spring3.0+Atomikos 构建jta的分布式事务 spring3.0已经不再支持jtom了,不过我 ...
- http协议学习系列
深入理解HTTP协议(转) http://www.blogjava.net/zjusuyong/articles/304788.html http协议学习系列 1. 基础概念篇 1.1 介绍 H ...
- firefox30浏览器,在使用quit()方法退出时,plugin-container.exe崩溃的问题
如题,崩溃截图如下: 解决办法: 对于版本号大于29的firefox,需要在其安装目录下,删除plugin-container.exe,不然使用webdriver的quit()方法关闭浏览器时会报错. ...