$.noConflict() 使用 noConflict() 方法為 jQuery 變量規(guī)定新的名稱,防止沖突
var jq=$.noConflict();
jq('#div').....
$. each() 遍歷操作 不僅能遍歷數(shù)據(jù)還能遍歷json
var arr=['sun','leo','lee'];
$.each(arr,function(i,val){
console.log(i); // 0 1 2
console.log(val); //'sun','leo','lee'
})
var json={name:'sun',age:22}
$.each(json,function(key,val){
console.log(key); //name age
console.log(val); //sun 22
})
$.Callbacks()多用回調(diào)列表對象提供了一種強(qiáng)大的方法來管理回調(diào)函數(shù)
function a(){
alert(1);
return false;
}
function b(){
alert(2);
}
function c(){
alert(3);
}
var cb=$.Callbacks();
cb.add(a);
cb.add(b);
cb.fire(); //1 2
var cb=$.Callbacks();
cb.add(a);
cb.add(b);
cb.fire();
cb.add(c); //1 2
var cb=$.Callbacks();
cb.add(a);
cb.add(b);
cb.fire();
cb.add(c);
cb.fire(); // 1 2 1 2 3
var cb=$.Callbacks('once');
cb.add(a);
cb.add(b);
cb.fire();
cb.add(c);
cb.fire(); // 1 2
var cb=$.Callbacks('memory');
cb.add(a);
cb.add(b);
cb.fire();
cb.add(c); // 1 2 3
var cb=$.Callbacks('unique');
cb.add(a);
cb.add(a);
cb.fire(); // 1
var cb=$.Callbacks('stopOnFalse');
cb.add(a);
cb.add(b);
cb.add(c);
cb.fire(); // 1
var cb=$.Callbacks();
(function(){
function a(){
alert(1);
}
cb.add(a);
cb.add(b);
})()
function b(){
alert(2);
}
cb.fire(); //1 2
setTimeout(function(){
alert(1);
},1000);
alert(2); // 2 1
// 因?yàn)閟etTimeoutshi異步舶沛,所以先執(zhí)行alert(2),再執(zhí)行alert(1),那如果想要先執(zhí)行 alert(1),再執(zhí)行alert(2)的話卷要,就可用如下方法解決
var cb=$.Callbacks();
setTimeout(function(){
alert(1);
cb.fire();
},1000);
cb.add(a);
function a(){
alert(2); //1 2
}
$.Deferred() JQ中的延遲對象
var dfd=$.Deferred();
setTimeout(function(){
alert(1);
// dfd.resolve();
dfd.reject();
},1000)
// dfd.done(a);
// function a(){
// alert(2);
// }
dfd.fail(a);
function a(){ //1 2
alert(2);
}
第一種ajax請求
$.ajax({
url:'xxx.php',
success:function(){},
error:function(){}
});
第二種ajax請求
$.ajax('xxx.php').done(function(){}).fail(function(){});
$.ajax('xxx.php').then(function(){},function(){});
$.when($.ajax('xxx.php'),$.ajax('yyy.php')).done(function(){}).fail(function(){});
$.ajax()通過 HTTP 請求加載遠(yuǎn)程數(shù)據(jù)盏触。最底層的方法
$.ajax({
url:"xxx.php", //請求服務(wù)器端的一個(gè)文件名
type:"POST", //設(shè)置發(fā)送數(shù)據(jù)的方式,默認(rèn)是get方式
data:'name=leo&age=20', //或者{name:"leo",age:20} 發(fā)送給服務(wù)器端的數(shù)據(jù)
dataType:'json', //設(shè)置返回的數(shù)據(jù)類型 如果不設(shè)置贮尉,返回的json的數(shù)據(jù)需要$.parseJSON()解析
success:function(data){}, //請求成功后的回調(diào)函數(shù)
error:function(err){}, //請求失敗后的回調(diào)函數(shù)
async:false //true表示異步請求拌滋,false表示同步請求
})
$.get() 通過get方法向 HTTP 請求加載遠(yuǎn)程數(shù)據(jù)
$.get("xxx.php",'name=leo',function(){},'json').error(function(){});
$.post() 通過post方法向 HTTP 請求加載遠(yuǎn)程數(shù)據(jù)
$.post("xxx.php",'name=leo',function(){},'json').error(function(){});
$.getScript()通過 HTTP GET 請求載入并執(zhí)行 JavaScript 文件。
$.getScript('xxx.js',function(){}).error(function(){})
$.getJSON()通過 HTTP GET 請求載入并執(zhí)行 json文件猜谚。
$.getJSON('xxx.json',function(){}).error(function(){})