您的位置:首页 > Web前端 > JQuery

JQuery学习总结

2015-11-25 13:57 716 查看
JQuery是当前很流行的一个JavaScript框架,使用类似于CSS的选择器,可以方便HTML元素,拥有很好的可扩展性,拥有不少插件。JQuery可以快速找到文档中的html元素,并对其进行操作,如隐藏、显示、改变样式、添加内容等。能够方便的在页面上添加和移除html元素。这些功能虽然使用JavaScript也能实现,但是JQuery绝对使这些工作变得更加简单。【HTML负责页面内容、CSS负责页面样式、JS负责页面行为】
JQuery是一种全新的JavaScript库JQuery是一个快速而且简洁的JavaScript库。它使得以下几方面的工作更加简单:
1)   遍历的操作HTML文档
2)   事件处理
3)   动画
4)   快速Web开发中的Ajax互操作
JQuery特性:
   。以强大的CSS选择器为基础,几乎所有的操作都先使用选择器查找DOM对象,然后对其进行各种操作。
   。HTML元素选取、操作、事件函数、DOM遍历和修改
   。JavaScript特效和动画
   。JQuery与Ajax
   。JQuery与Utilities
JQuery实例小结:
(1)  验证用户名JQuery实现
a)  可以通过$(document).ready(function(){})的方式来定义页面装载完成时,需要执行的方法
b)  可以在$()方法返回的jquery对象上执行各种Jquery的方法来获取数据,定义事件,执行操作
具体的代码实现:
//DOM装载完成后运行
//获取文本框
var userNameNode = $("#userName");
//注册button单击事件
$("#verifyButton").click(function() {
//获取文本框的内容
var userName = userNameNode.val();
//将这个内容发送给服务器端
if (userName == "") {
alert("你什么都木有输入,提交什么?");
} else {
$.get("UserVerify?userName=" + encodeURI(encodeURI(userName)),null,function(response){
//接收服务器端返回的数据,填充到div中
$("#result").html(response);
});

}
});
});


(2) 可以编辑的表格
a)  Table中可以包含thead和tbody
b)  $(function(){})是$(document).ready(function(){})的简化写
c)  get方法可以获得JQuery对象中包含的某一个DOM节
d)  $()方法的参数是一个DOM对象时,这个方法相当于把DOM对象转换成JQuery对象
具体代码实现
$(function(){

});
$("tbody tr:even").css("background-color","#ECE9D8");


(3)  菜单效果
a)  插件的编写方法:$.fn.myplugin= function(){//mycode},方法中的this表示的是执行这个方法的jquery对象,注意方法应该在最后return this,以保证其他jquery方法可以级联操作。
b)  jquery提供的事件操作在注册的时候是增量的,比如说有两段代码都$(window).scroll(function(){}),第二段的function内容不会覆盖到第一段,而是在scroll时,两段代码都被执行。
具体代码实现
//页面中的DOM已经装载完成时,执行的代码
$(".main > a").click(function(){
//找到主菜单项对应的子菜单项
var ulNode = $(this).next("ul");
ulNode.slideToggle();
changeIcon($(this));
});
$(".hmain").hover(function(){
$(this).children("ul").slideDown();
changeIcon($(this).children("a"));
},function(){
$(this).children("ul").slideUp();
changeIcon($(this).children("a"));
});
});


(4)  标签页效果
a)  JQuery中的mouseover,mouseout方法对应标准javascript的onmouseover,onmouseout事件,可以处理鼠标进入和离开的事件
b)  JQuery中的load方法十分强大,可以把一个指定的静态,动态页面或服务器端程序输出的数据装入到执行load方法的JQuery对象包装着的元素中。
c)  ajaxStart,ajaxStop对应ajax交互开始前和结束后的事件,给某一个节点注册了这两个事件后,当前页面的ajax交互开始前和结束后,就会执行指定的方法。
具体代码实现
$("#realcontent").load("allTab.html");
var liNode = $(this);
timoutid = setTimeout(function () {
//将原来显示的内容区域进行隐藏
$("div.contentin").removeClass("contentin");
//对有tabin的class定义的li清除tabin的class
$("#tabfirst li.tabin").removeClass("tabin");
//当前标签所对应的内容区域显示出来
//$("div").eq(index).addClass("contentin");
$("div.contentfirst:eq(" + index + ")").addClass("contentin");
liNode.addClass("tabin");
}, 300);
}).mouseout(function () {
//鼠标移除清楚延迟
clearTimeout(timoutid);
});


(5)  级联下拉框效果
a)  $.post方法可以和服务器端发起post的异步请求。第一个参数是请求的服务器端地址,第二个参数是发送给服务器端的数据,参数是Javascript的对象,采用名值对的方式表示,第三个参数是回调方法,第四个参数指示服务器端返回的数据类型,JQuery会根据这个参数帮我们进行转换。get方法只有第二个参数不同,其他几个参数用法相同。
b)  JSON的数据格式其实就是Javascript中的一个对象或数据定义的文本格式内容,比如{key1: value1, key2: [1,2,3]}或[1,2,{key2: value2}]。
具体代码实现(级联选择汽车类型的例子)
if (carnameValue != "") {
if (!carnameSelect.data(carnameValue)) {
$.post("ChainSelect",{keyword: carnameValue, type: "top"},function(data){
//接收服务器返回的汽车类型
if (data.length != 0) {
//解析汽车类型的数据,填充到汽车类型的下拉框中
cartypeSelect.html("");
$("<option value=''>请选择汽车类型</option>").appendTo(cartypeSelect);
for (var i = 0; i < data.length; i++) {
$("<option value='" + data[i] + "'>" + data[i] + "</option>").appendTo(cartypeSelect);
}
//汽车类型的下拉框显示出
cartypeSelect.parent().show();
//第一个下拉框后面的指示图片显示出来
carnameSelect.next().show();
} else {
//没有任何汽车类型的数据
cartypeSelect.parent().hide();
carnameSelect.next().hide();
}
carnameSelect.data(carnameValue, data);
}, "json");
}


学习小结:
一开始接触JQuery的时候,觉得和JavaScript如出一辙。根本就区分不开到底有什么区别。酝酿了好几天,通过从网上查阅各种JQuery相关资料,才渐渐搞明白原来JQuery是当前比较流行的JS库。使用JQuery可以比JavaScript更简单的实现某些功能。用的多了,这个特色体会的越明显。

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: