jQuery是一個快速、簡潔的JavaScript框架速那,是繼Prototype之后又一個優(yōu)秀的JavaScript代碼庫(或JavaScript框架)。jQuery設(shè)計的宗旨是“write Less司光,Do More”琅坡,即倡導寫更少的代碼,做更多的事情残家。它封裝JavaScript常用的功能代碼榆俺,提供一種簡便的JavaScript設(shè)計模式,優(yōu)化HTML文檔操作坞淮、事件處理茴晋、動畫設(shè)計和Ajax交互。
【JQuery語法】
1回窘、JQuery("選擇器").action()诺擅;通過選擇器,調(diào)用時間函數(shù)
但JQuery中啡直,JQuery中可以用$代替烁涌,即$("選擇器").action();
①選擇器酒觅,可以直接使用css選擇器撮执,選中元素
②.action() 表示對元素執(zhí)行的操作;
2舷丹、文檔就緒函數(shù):防止文檔在完全加載(就緒)之前抒钱,運行JQuery代碼
$(document).ready(function(){
//JQuery代碼
});
簡寫:$(function(){ });
3、[文檔就緒函數(shù)&window.onload區(qū)別]
① window.onload需在網(wǎng)頁所有內(nèi)容加載完成后執(zhí)行(包括圖片音頻)
文檔就緒函數(shù)颜凯,只需要在網(wǎng)頁DOm結(jié)構(gòu)加載以后便會執(zhí)行
② window.onload谋币,只能寫一個,寫多個只會執(zhí)行最后一個症概;
文檔就緒函數(shù)蕾额,可以寫多個,也不會被覆蓋
4彼城、JQuery與原生DOM互轉(zhuǎn)
①原生DOM對象轉(zhuǎn)JQuery對象: $(DOM對象)
var p = document.getElementsByName("p");
$(p) 轉(zhuǎn)換為JQwery對象
②JQuery對象轉(zhuǎn)原生DOM對象:$("#p").get(0) $("#p")[0]
$("#p").get(0).style.color = "red";
//事件綁定快捷方式
/*$("button:first").click(function(){
alert(1);
})*/
/*
【使用on綁定事件】
①使用on進行單事件綁定
②使用on進行多事件綁定同一函數(shù)
③調(diào)用函數(shù)時诅蝶,傳入自定義參數(shù)
使用event.data.屬性名;找到傳入?yún)?shù)
$("button").on("click",{name:"liuyongqi"},function(event){
console.log(event.data.name)
}
)
④使用on逼友,進行多事件多函數(shù)綁定
$("button").on({
click:function(){
console.log("click");
},
mouseover:function(){
console.log("mouseover");
}
})
⑤使用on進行事件委派
>>>將原本需要綁定到某元素上的事件,改為綁定到父元素乃至根節(jié)點上秤涩,然后委派給當前元素生效帜乞;
$(document).on("click","button",function(){
alert(1);
})
>>>作用:默認的綁定方式,只能綁定到頁面已有的元素筐眷,當頁面新增元素時黎烈,無法綁定到新元素上;
使用事件委派方式匀谣,當頁面新增元素時照棋,可以為所有新元素綁定事件
*/
/*
【off取消事件綁定】
1、$("p").off():取消所有事件武翎;
2烈炭、$("p").off("click"):取消點擊事件;
3宝恶、$("p").off("click mouseover"):取消多個事件符隙;
4、$(document).off("click","p"):取消事件委派垫毙;
*/
/*
* 使用.one();綁定事件霹疫,只能執(zhí)行一次;
* $("button").one("click",function(){
alert(1);
})
*/
/*
* .trigger("event"):自動觸發(fā)某元素的事件
* $("p").bind("myEvent", function (event, message1, message2) {
alert(message1 + ' ' + message2);
});
$("p").trigger("myEvent", ["Hello","World!"]);
*/
/*
hover(over,out)
over:鼠標移到元素上要觸發(fā)的函數(shù)
out:鼠標移出元素要觸發(fā)的函數(shù)
$("td").hover(
function () {
$(this).addClass("hover");
},
function () {
$(this).removeClass("hover");
}
);
*/
/*——————————————————————華麗分割線——————————————————————————————*/
/*
【動畫效果】
.show()
①不傳參:讓隱藏元素直接顯示综芥,不進行動畫
②傳入事件:多少毫秒之內(nèi)完成動畫
③傳入(時間丽蝎,函數(shù)):完成動畫之后,執(zhí)行回調(diào)函數(shù)
show()動畫執(zhí)行效果:同時修改元素的寬度膀藐、高度屠阻、和opacity(透)屬性;
.hide():讓顯示的元素隱藏额各,與show相反国觉;
.slidedown:讓隱藏元素顯示,效果為從上往下臊泰,增加高度蛉加;
.slideUp:讓顯示元素隱藏蚜枢,效果為從下往上缸逃,減小高度;
.slideToggle():讓顯示元素隱藏厂抽,讓隱藏元素顯示需频;
.fadeOut:讓顯示元素隱藏,淡出筷凤;
.fadeIn:讓隱藏元素顯示昭殉,淡入苞七;
fadeToggle():讓顯示元素隱藏,讓隱藏元素顯示挪丢。淡入淡出蹂风;
fadeToggle(時間,透明度乾蓬,函數(shù)):作用同fadeToggle()惠啄,但是多了透明參數(shù),可以指定顯示的最終透明度任内;
.animate({一組包含作為動畫屬性和終值的樣式屬性和及其值的鍵值對},
表示動畫時長的毫秒數(shù)值(如:1000),
使用的擦除效果的名稱(需要插件支持).默認jQuery提供"linear" 和 "swing",
回調(diào)函數(shù))