博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery对表单、表格的操作及更多应用(下:其他应用)
阅读量:7240 次
发布时间:2019-06-29

本文共 2921 字,大约阅读时间需要 9 分钟。

内容摘录自锋利的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);
}
});

转载地址:http://seybm.baihongyu.com/

你可能感兴趣的文章
sql 高性能存储过程分页
查看>>
Java -- 异常的捕获及处理 -- 异常类的继承结构
查看>>
外链建设的主要门户渠道
查看>>
sqlserver如何添加全文索引
查看>>
UVALive - 4960 Sensor network(生成树+LCA)
查看>>
IIS与asp.net管道
查看>>
poj 2585 Window Pains 暴力枚举排列
查看>>
[ACM] ZOJ 3725 Painting Storages (DP计数+组合)
查看>>
Java:String和Date、Timestamp之间的转换
查看>>
Android自己定义实现循环滚轮控件WheelView
查看>>
新eclipse 打开就版本的工作空间提示:
查看>>
1250 Fibonacci数列
查看>>
activiti自己定义流程之整合(三):整合自己定义表单创建模型
查看>>
Tomcat 文件夹结构
查看>>
myeclipse集成maven
查看>>
数据结构精要------冒泡与直接排序算法
查看>>
python中将图片从客户端(client)推到(POST)到服务器端(server)的方法
查看>>
落地生根两周年,微软Azure进入2.0时代
查看>>
数据挖掘之分类算法---knn算法(有matlab样例)
查看>>
BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第13章节--使用业务连接服务创建业务线解决方式 SP Apps中的BCS...
查看>>