内容摘录自锋利的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对表单、表格的操作及更多应用(下:其他应用)的更多相关文章

  1. jQurey对表单表格的操作及更多应用(方法型)

  2. jQuery(6)——jQuery对表单、表格的操作及更多应用

    jQuery对表单.表格的操作及更多应用 [表单应用] 一个表单有表单标签.表单域及表单按钮三个基本部分. 单行文本框应用:获取和失去焦点改变样式. 也可以用CSS中的伪类选择符来实现,但是IE6并不 ...

  3. jQuery 对表单、表格的操作及更多应用-简略笔记

    [jQuery 对表单.表格的操作及更多应用] jquery对表单及表格的操作是实际应用中相当广泛. 对于表单的操作,可以实现 (1)获取和失去焦点改变样式: (2)在多行文本框中可以实现网站评论框的 ...

  4. (十)jQuery对表单、表格的操作

    一.表单应用 1.HTML中的表单大致由三部分组成 (1).表单标签:包含处理表单数据所用的服务端程序URL,以及数据提交到服务器的方法. (2).表单域:包含文本框.密码框.隐藏域.多行文本框.复选 ...

  5. 第5章 jQuery对表单、表格的操作及更多应用

    本章主要是对前面4章的小结和应用. 一. 表单form应用 表单分为3个组成部分 (1)form标签 表单可包含文本域,复选框,单选按钮等等.表单用于向指定的 URL 传递用户数据. (2)表单域 - ...

  6. jQuery对表单、表格的操作以及更多应用

    表单和表格都是HTML的重要组成部分,分别用于采集.提交用户输入的信息和显示列表数据. 表单应用:一个表单有3个基本组成部分: ①表单标签:包含处理表单数据所用的服务器端程序URL以及数据提交到服务器 ...

  7. jQuery对表单、表格的操作及更多应用(上:表单应用)

    内容摘录自锋利的JQuery一书 一.表单应用 1 获取和失去焦点改变样式(P142) $(function(){ $(":input").focus(function(){ // ...

  8. jQuery对表单、表格的操作及更多应用(中:表格应用)

    内容摘录自锋利的JQuery一书 二.表格应用 1 表格隔行变色(:odd和:even选择器 P157) $(function(){ $("tr:odd").addClass(&q ...

  9. jQuery对表单、表格的操作及更多应用

    <head> <style type="text/css"> .even {     background-color: #fff38f;/*偶数行样式*/ ...

随机推荐

  1. Swift Tour 随笔总结 (3)

    关于Optional的Control Flow if let constantName = someOptional { statements } 如果该Optional为nil,则不进入if,否则执 ...

  2. GLUT教程 - 安装

    转载:http://www.cnblogs.com/live41/p/3368830.html glut库 - 下载频道 - CSDN.NEThttp://download.csdn.net/down ...

  3. 深入了解PooledConnectionFactory CachingConnectionFactory Sin

    深入理解PooledConnectionFactory CachingConnectionFactory SingleConnectionFactory PooledConnectionFactory ...

  4. CodeForces - 416A (判断大于小于等于 模拟题)

    Guess a number! Time Limit: 1000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Sub ...

  5. [Android UI] ProgressBar自定义

    转载自:http://gundumw100.iteye.com/blog/1289348 1: 在JAVA代码中 在java代码中 ProgressBar      继承自View, 在android ...

  6. ubuntu下设置Android手机驱动

    如果下面的文章不好使,建议读一这个文章:http://forum.xda-developers.com/xperia-u/general/howto-usb-connection-to-ubuntu- ...

  7. mongoose学习笔记1--基础知识2

    Schema简述 Schema —— 一种以文件形式存储的数据库模型骨架,无法直接通往数据库端,也就是说它不具备对数据库的操作能力,仅仅只是数据库模型在程序片段中的一种表现,可以说是数据属性模型(传统 ...

  8. ASP.Net核心对象之HttpResponse

    简介: HttpResponse是对响应报文进行设置的一个对象.通过context. Response 能够得到HttpResponse对象. context.Response.Charset;//获 ...

  9. 【Ubuntu14.04.1】设置开机可以Root用户身份登录

    $ sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf [SeatDefaults]user-session=ubuntugreet ...

  10. Android实现支持缩放平移图片

    本文主要用到了以下知识点 Matrix GestureDetector 能够捕捉到长按.双击 ScaleGestureDetector 用于检测缩放的手势 自由的缩放 需求:当图片加载时,将图片在屏幕 ...