JavaEE 传智28期day04JQuery参考.docx
《JavaEE 传智28期day04JQuery参考.docx》由会员分享,可在线阅读,更多相关《JavaEE 传智28期day04JQuery参考.docx(19页珍藏版)》请在冰豆网上搜索。
JavaEE传智28期day04JQuery参考
JQuery
今日任务
Ø使用JQuery完成页面定时弹出广告
Ø使用JQuery完成表格的隔行换色
Ø使用JQuery完成复选框的全选效果
Ø使用JQuery完成省市联动效果
Ø使用JQuery完成下列列表左右选择
教学导航
教学目标
掌握JQuery的基本使用
掌握JQuery的基本选择器,层次选择器
会使用JQuery完成DOM的基本操作.
教学方法
案例驱动法
使用JQuery完成页面的弹出广告的效果:
需求:
在网站的首页上定时弹出一个广告,过几秒之后,广告会自动消失。
分析:
技术分析:
【JQuery的概述】
Ø什么JQuery:
ØJQuery的版本:
JQuery1.xJQuery2.x(不支持IE6,7,8)
ØJQuery的作用:
大大简化的JS的代码编写.
将页面与JS分离
Ø常见的JS的库:
JQuery,prototype,dwr,ExtJS...
【JQuery的入门】
//页面加载完毕
window.onload=function(){
alert("Hello王守义");
}
alert("Hello老王");
//DOM树绘制完毕以后就会执行
jQuery(document).ready(function(){
alert("Hello王如花");
});
//JQ的简写jQuery=$
/*jQuery(document).ready(function(){
alert("Hello王凤");
});*/
$(function(){
【JQ和DOM对象的转换】
使用JS写的代码只能调用JS中的属性和方法.
使用JQ写的代码只能调用JQ中的属性和方法.
//JS
functionwriteIn(){
//document.getElementById("s1").innerHTML="Hello王超杰";
vars1=document.getElementById("s1");
//将JS对象转成JQuery的对象
$(s1).html("Hello王超杰");
//JQ
$("#bt2").click(function(){
//$("#s1").html("Hello王守义");
//将JQ的对象转成JS的对象。
//$("#s1")[0].innerHTML="Hello王守义";
//$("#s1").get(0).innerHTML="Hello王守义";
【JQ的获得元素】
$(“#id”)
【JQ的效果】
*show();--显示某个元素
*hide();--隐藏某个元素
*slideDown();--向下滑动
*slideUp();--向上滑动
*fadeOut();--淡出
*fadeIn();--淡入
*animate();--自定义动画
*toggle();--单击事件的切换
步骤分析:
Ø步骤一:
页面加载后,设置一个定时操作.5秒执行一个函数.
Ø步骤二:
在函数中获得广告的div.显示div.
Ø步骤三:
清空原来的定时,设置一个定时.5秒后执行一个函数.
Ø步骤四:
在函数中获得广告的div.隐藏div.
代码实现:
vartime;
//设置定时5秒后执行一个显示广告的函数
time=setInterval("showAd()",5000);
//显示广告的函数
functionshowAd(){
//获得广告的div,显示
//$("#divAd").show(1000);
//$("#divAd").slideDown(3000);
$("#divAd").fadeIn(3000);
//清空定时:
clearInterval(time);
//重新设置定时:
time=setInterval("hideAd()",5000);
//隐藏广告的函数:
functionhideAd(){
//获得广告的div,隐藏
//$("#divAd").hide(3000);
//$("#divAd").slideUp(3000);
$("#divAd").fadeOut(3000);
总结:
JQuery的选择器:
【基本选择器】
ØID选择器:
Ø类选择器:
$(“.class”)
Ø元素选择器:
$(“元素”)
Ø通配符选择器:
$(“*”)
Ø选择器,选择器:
$(“#id,.class”)
【基本选择器的案例】
$("#btn1").click(function(){
$("#one").css("background","#bbffaa");`
$("#btn2").click(function(){
$(".mini").css("backgroundColor","#bbffaa");
$("#btn3").click(function(){
$("div").css("backgroundColor","#bbffaa");
$("#btn4").click(function(){
$("*").css("backgroundColor","#bbffaa");
$("#btn5").click(function(){
$("#two,.mini").css("backgroundColor","#bbffaa");
111
222
333
444
555
666
【JQ的层级选择器】
ØAncestordescendant2
ØParent>child
ØPrev+next
ØPrev~sibling
【JQ层级选择器的代码】
DOCTYPEhtml>
$("bodydiv").css("background","#bbffaa");
$("body>div").css("backgroundColor","#bbffaa");
$("#two+div").css("backgroundColor","#bbffaa");
$("#one~div").css("backgroundColor","#bbffaa");
【JQ的基本过滤选择器】
$("bodydiv:
first").css("background","#bbffaa");
last").css("backgroundColor","#bbffaa");
odd").css("backgroundColor","#bbffaa");
even").css("backgroundColor","#bbffaa");
【JQ的属性选择器】
$("div[title]").css("background","#bbffaa");
$("div[title='aaa']").css("backgroundColor","#bbffaa");
【JQ的表单选择器】
$(":
input").css("background","#bbffaa");
text").css("background","#bbffaa");
使用JQuery完成表格的隔行换色
制作一个表格,隔行换色.第一行标题的行,不需要进行换色,其他的行需要变换颜色.
【JQuery的CSS类】
使用addClass(),removeClass();添加或移除样式
在页面中引入一个jquery的js
写页面加载的函数.
使用选择器基本过滤找到奇数行和偶数行
分别给不同的行添加样式(样式已经由美工制作好的)
//找奇数行:
//$("tr:
odd").addClass("odd");
//偶数行:
even").addClass("even");
$("tbody>tr:
使用JQuery完成复选框的全选和全不选
有如下的表格的数据,批量的进行删除.将上面的复选框选中,下面其他的复选框都被选中。
如果上面的复选框没有被选中,那么将下面的所有的复选框全不选.
【JQuery操作某个元素的属性】
$("#bt1").click(function(){
//获得属性的值
//alert($("#img1").attr("src"));
//修改属性的值:
$("#img1").attr("src","../../img/f001a62f-a49d-4a4d-b56f-2b6908a0002c_g.jpg");
引入jquery的js
编写加载的方法.
上面的复选框绑定一个单击事件
如果上面的被选中,修改下面的所有的复选框的checked属性变为true否则将复选框的checked属性变为false.
//步骤一:
为上面的复选框绑定单击事件:
$("#selectAll").click(function(){
/*if(this.checked==true){
//如果上面的复选框被选中:
$("input[name='ids']").attr("checked",true);
}else{
//上面的复选框没有被选中
$("input[name='ids']").attr("checked",false);
}*/
//$("input[name='ids']").attr("checked",this.checked);
$("input[name='ids']").prop("checked",this.checked);//thisJS的对象
低版本可以使用attr方法设置属性的值.高版本中建议使用prop的方法设置属性的值.
使用JQuery完成省市联动
在注册的页面上有省市联动.
技术分析:
【JQuery的遍历】
each的方法进行遍历.
一种用法:
*JQ的对象.each(function(i,n){
二种用法
*$.each(数组,function(i,n){
【JQuery的DOM的操作】
JS中添加元素:
appendChild();
JQ中添加元素:
append();
appendTo();
引入jquery.js
加载的方法.
定义二维数组
在第一个省份的下拉列表中绑定一个事件change
Ø步骤五:
在绑定的事件的函数中,获得选中的省份的值.
Ø步骤六:
遍历数组,省份的值与数组中的值比较.
Ø步骤七:
获得数组的值.遍历获得的值.
Ø步骤八:
获得每个值.创建元素,创建文本节点.
Ø步骤九:
将文本添加到option元素中.将option添加到第二个下拉列表中.
//定义二维数组:
varcities=[
["长春市","吉林市","延边市","白山市","松原市"],
["济南市","青岛市","临沂市","烟台市"],
["石家庄","唐山","保定","承德","秦皇岛"],
["南京","苏州","扬州","无锡"]
];
//获得省份的下拉列表,绑定事件
$("#province").change(function(){
//获得下拉列表的值:
//alert(this.value);
varval=this.value;
var$city=$("#city");
$city[0].options.length=0;
$(cities).each(function(i,n){
//alert(i+""+n);
if(val==i){
$(n).each(function(j,m){
//alert(m);
//创建option元素
varopEL=document.createElement("option");
//创建文本节点
vartextNode=document.createTextNode(m);
//将文本添加到option中
//opEL.appendChild(textNode);
$(opEL).append(textNode);
//将option添加到第二个列表中
$city.append(opEL);
总结
【JQuery的文档操作】
$(“a”).append(“b”);//将b添加到a元素中.
$(“a”).appendTo(“b”);//将a添加到b元素中.
$(“a”).insertBefore(“b”);//将a元素插入到b元素之前
$(“a”).insertAfter(“b”);//将a元素插入到b元素之后
$(“a”).remove();//将a元素移除
使用JQuery完成下拉列表的左右选择:
在数据的编辑的页面中,有已选的商品和未有的商品两个下拉列表,可以左右进行选择
JQuery的选择器和文档操作.
引入jquery的文件
页面加载的函数
在链接上添加一个事件.
使用选择器找到左侧的列表中被选中的元素,添加到右侧.
//将左侧选中的option添加到右侧
$("#add").click(function(){
$("#selectLeftoption:
selected").appendTo("#selectRight");
//将左侧所有的option添加到右侧
$("#addAll").click(function(){
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1