1. 程式人生 > 實用技巧 >【jQuery】jQuery框架

【jQuery】jQuery框架

jQuery 框架

1).jQuery特點、使用方法

概念:封裝javascript程式碼一個框架 標語: write less do more
特點:①簡化程式碼獲得標籤物件的程式碼
②遮蔽瀏覽器差異
③jquery外掛 拿來即用,自帶UI效果
④支援批量操作
使用步驟:
①引用jquery.js檔案:實際開發中,使用jquery-xxx.min.js,功能一樣、檔案小、載入速度快
②在網頁中使用script標籤引入js檔案
③使用:
	$("選擇器") 	/ 作用:根據引數從網頁中選擇對應標籤,返回
    基本選擇器:
    	$("#id值")
		$(".class的值")
		$("標籤名")
常用方法:
jquery的dom物件 .css("樣式name","樣式的值")
jquery的dom物件 .text();	//獲得標籤體的內容
jquery的dom物件 .text("值");	//設定標籤體的內容
jquery的dom物件 .html();	//獲得標籤體內內容,包括標籤
例如:jdom.css(“name”, “value”).css(“name”, “value”); //可以多次呼叫,每次呼叫又返回一個jQuery的dom
JavaScript的dom物件轉化為jQuery物件:
var jsdom = ...;
var jqdom = $(jsdom)

2).jQuery的選擇器、DOM相關方法

選擇器:
	(1)基本選擇器:【重點】
		ID選擇器:		 $('#id值')	
		標籤選擇器:		$('標籤名')	
		類選擇器:  		 $('.class值')	
	(2)層級選擇器[組合選擇器]:
		$(selA SelB)  後代選擇器:選擇selA標籤內部所有後代中的selB標籤
		$(selA>SelB)  子代選擇器:選擇selA的直接子代元素中的SelB
		$(selA+selB)  緊鄰弟弟選擇器(1個)
		$(sel~sel後續弟弟)  後續所有弟弟選擇器
	(3)過濾選擇器
	①簡單過濾選擇器
    	語法: $("選擇器:過濾xxx")
		:first	$(sel:first)	獲得第一個元素
		:last					獲得最後一個元素
		:eq(i)					獲得下標i的元素
		:gt(i)					下標大於i的元素				
		:lt(i)					下標小於i的元素
		:even					下標為偶數元素
		:odd					下標為奇數元素
		:not(selector)【重點】	獲得所有元素,不包含select元素	
	②內容過濾器
		:empty						標籤體內部為空的標籤
		:parent						標籤體不為為空的元素,如果標籤體內部是空白
		:contains(text)【重點】   	 包含某個text文字元素
		:has(內部後代標籤selector)	過濾保留內部包含selector對應標籤的元素
	③可見性過濾選擇器【重點】		針對--display:none
		:visible	獲得顯示的標籤
		:hidden		獲得隱藏標籤
	④屬性過濾選擇器:【重要】
		選擇器[prop]	  含有prop屬性的標籤物件(明確寫了prop屬性)
		選擇器[prop=value]	含有prop屬性並且prop的屬性值為value		
		*表單特有的過濾:
			:checked	過濾保留被選中的元素(複選框,單選扭)
			:selected	被選中的元素
DOM相關方法:
訪問屬性方法:包括屬性、標籤體、樣式
①.text()  						獲得標籤體的普通文字
	  	.text("")  					修改籤的普通文字
②.css("樣式名字","樣式的值")  	設定標籤的樣式.
	 	.css("樣式名字")  				獲得樣式的值
③.html()  						獲得標籤體的內容(包含了標籤)
	  	.html("內容")					修改標籤體內容,可包含標籤
④.val()  						獲得input標籤的value屬性值 [相當js   dom.value]
	  	.val("文字")					修改input標籤的value值。
⑤.prop("屬性名","屬性值")  		設定標籤的屬性名對應的值
      .prop("屬性名")   			獲得標籤的屬性值
⑥select標籤獲得被選中的選項的下標
			$("下拉列表").prop("selectedIndex");
      獲得所有選項:
			$("select").prop("options");

3).jQuery基於程式設計的事件繫結、及DOM操作方法、函式操作

(1)事件繫結
核心語法:jQuery的dom物件.on("事件名稱",事件函式);
例項程式碼:
$("xx").on("click",function(event){ 	// event是事件物件,是一次單機事件
    // event.target   	事件的源標籤  	javascript型別的dom物件
    // this 			事件源物件      javascript型別的dom物件
    $(this).text(); //將JavaScript物件轉為jQuery的dom物件,在呼叫其方法
})
動態繫結事件:
$("xx").live("click",function(){
    //動態為後新增的元素,只要符合 選擇器的條件,動態增加事件繫結
});
事件名稱:
click、dblclick、blur、change、focus、load、mouseover、mousemove、submit
網頁載入繫結事件:
$(function(){
    //網頁載入完畢之後,呼叫
});
(2)jQueryDOM操作方法
① 建立標籤:var jqDom = $("<td colspan='2'></td>");
② 新增標籤:$("#tr").append($("<td>武松</td>"));
③ 刪除本標籤:dom.remove();
④ 清空內部:
		dom.empty();
		dom.html("");
⑤ 找到弟弟標籤(同級下一個)
		dom.next();
⑥ 找到哥哥標籤(同級上一個)
		dom.prev();
⑦ 所有兒子標籤(所有下級)
		dom.children();
⑧ 找到直接父標籤標籤(上一級)
		dom.parent();
(3)補充函式
①jquerydom物件多個
	jqdom.size();//jquery物件中元素個數
②獲得i下標元素
	jqdom.get(i);		//獲得i下標的dom物件(javascript型別的dom物件)
	jqdom.eq(i);		//獲得i下標的dom物件(jQuery型別的dom物件)
③專門遍歷jqueyrdom的方法
jqDom陣列.each(function(i,e){
    //每次遍歷執行
    //得到當前物件 e(javascript型別的dom物件)
    // $(e) jquery型別的
    $(e)
    //得到當前遍歷的下標 i
});
④資料繫結函式
	jqDom.data("key",value);//將value的以key為名字,繫結在jqDOmd的標籤上
	jqDom.data("key");//獲得繫結在jqDOm標籤上名字為key的值
⑤find("選擇器")[jQuery自定義外掛][瞭解]
	語法: jqDOM.find("選擇器");
	從jqDOm標籤內部(後代標籤中)查詢,符合引數選擇器的標籤返回

4).jQuery動畫效果

效果方法
①顯示消失
    show();			將標籤從隱藏狀態下逐步變成顯示狀態
    show(毫秒);		顯示過程所花的時間
    hide();			將標籤消失。
    hide(毫秒);		消失過程所消耗的時間
②淡入淡出
	fadeIn(毫秒)		淡入(顯示)
	fadeOut(毫秒);	淡出(消失)
③捲動效果:(捲簾門效果)
	slideDown(毫秒)	卷下顯示
	slideUp(毫秒)    	捲上消失
④自定義效果:
標籤dom.animate(樣式物件,毫秒值); 		//含義: 使用一定的事件變化成指定的樣式效果
	樣式物件:
		{"font-size":"100px","margin-left":"100px"}	

5).jQuery外掛使用(訊息框、圖片放大鏡、日期輸入框、表單驗證)

(1)訊息框:toastr
① 引入js檔案
	jquery的js檔案
	toastr js檔案
② 引入相關的css檔案
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.3.min.js"></script>
	<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.validate.js"></script>
	<script type="text/javascript" src="${pageContext.request.contextPath}/js/message_zh_CN.js"></script>
語法:toastr.info("訊息文字");
	  toastr方法:
    	 info("訊息框文字","標題")    	普通訊息(主題)
		 success("綠色文字")   		成功訊息
         warning("")
		 error("");
(2)放大鏡
① 匯入資源:jquery檔案、放大鏡的js檔案、css檔案
   	<script src="${pageContext.request.contextPath }/js/jquery-1.8.3.min.js"></script>
   	<script src="${pageContext.request.contextPath }/js/jquery.jqzoom-core.js"></script>
   	<link rel="stylesheet" href="${pageContext.request.contextPath }/css/jquery.jqzoom.css" />
② 使用放大
a. 準備一個img圖(小):<img src="small.jpg">
b. img外部套一個a標籤,將大圖的路徑放在a標籤的href
   	<a href="大圖路徑">  <img src="small.jpg"> 	</a>
c. 使用放大鏡外掛,新增放大效果和事件繫結。
   $("a標籤").jqzoom();
(3)日期外掛
① 引入資源
	注意:	匯入專案的資源全部匯入,檔案相對路徑最好不要改變
引入:<script src="${pageContext.request.contextPath }/datepicker/WdatePicker.js"></script>
② 給input輸入框新增日曆圖示效果.
	<input class="Wdate">
③ 提供好了顯示日曆的事件函式  WdatePicker
	<input class="Wdate" onclick="WdatePicker()">
(4)表單驗證外掛
①匯入資原始檔、引入頁面
<script src="${pageContext.request.contextPath }/js/jquery-1.8.3.min.js"></script>
<script src="${pageContext.request.contextPath }/js/jquery.validate.js"></script>
<script src="${pageContext.request.contextPath }/js/message_zh_CN.js"></script>   
<script type="text/javascript" src="${pageContext.request.contextPath}/datepicker/WdatePicker.js"></script>
②驗證:
	$(function() {
		$("#fm").validate({   		//獲取form表單、呼叫validate({ })
			"rules" : {				//給對應的表單項加驗證規則
				"user.username" : {"required" : true, "minlength" : 2},		//根據name值獲取標籤、後面為驗證物件
				"user.password" : {"required" : true, rangelength : [2, 10]}, //不為空、長度在2~10
				"user.realName" : {"required" : true, "minlength" : 2},
				"user.mobile" : {"required" : true, "minlength" : 11,"maxlength" : 11}
			},
			"messages" : {
				"user.username" : {"required" : "不能為空", "minlength" : "長度不能小於2"}//修改提醒文字
}
		});
	});
注意:
<style>
	.error{ color: red;} //將所有的文字框提醒文字為紅色
</style>