-
index.html & setInterval(tick, 13) 由于js單線程機制不能保證每13ms會執(zhí)行一次。通過createTime()與當前時間對比,動態(tài)算出變化尺度。通過這種方式也許原本期望tick執(zhí)行10次,但瀏覽器在你duration: 2000時間內(nèi)只給你調(diào)用了9次的情況下也能完整完成一個動畫。查看全部
-
API: .animate( properties, options ): 即 .animate( properties [, duration ] [, easing ] [, complete ] ) 理解定義(代碼參考右邊) book.animate({ opacity: 0.25, left: '50', height: 'toggle' }, { duration :1000, specialEasing: { height: 'linear' }, step: function(now, fx) { console.log('step') }, progress:function(){ console.log('progress') }, complete:function(){ console.log('動畫完成') } }) 首先,動畫的參數(shù)都是最終值,都是相對數(shù)據(jù)。 如上 div 元素的起始: opacity: 是 1,那么通過動畫改成 0.25 left: 是 500,那么通過動畫改成 50 height: 為'toggle' 意味著如果是隱藏與顯示的自動切換 step:是針對 opacity/left/height 各自動畫,每次改變通知三次 progress: 是把 opacity/left/height 看成一組了,每次改變只通知一次查看全部
-
文檔寫的很好,可以都看,大概過一遍就行查看全部
-
看index.html jQuery 為動畫量身定制了隊列機制,我們的思路可以是這樣 有一個隊列,在執(zhí)行第一個 animate 方法的時候加入隊列就開始執(zhí)行動畫,因為動畫自己在執(zhí)行的時候就會產(chǎn)生異步的時間差 我們在這個時間差的里面繼續(xù)去加入之后的動畫 animate 進去隊列,然后在每一個動畫結(jié)束之后去取出隊列中的第一個 animate 方法開始執(zhí)行,依次循環(huán)下去查看全部
-
index.html看注釋 $.queue:這個方法有兩個作用,它既是 setter,又是 getter。 第一個參數(shù) elem 是 DOM 元素,第二個參數(shù) type 是字符串,第三個參數(shù) data 可以是 function 或數(shù)組。 var body = $('body'); function cb1() {alert(1)} function cb2() {alert(2)} //set,第三個參數(shù)是函數(shù) $.queue(body, 'aa', cb1); $.queue(body, 'aa', cb2); //get $.queue(body, 'aa') //[function ,function] $.dequeue : 匹配的元素上執(zhí)行隊列中的下一個函數(shù)。 var body = $('body'); function cb1() {console.log(11111)} function cb2() {console.log(22222)} //set $.queue(body, 'aa', cb1); // 第三個參數(shù)為function $.queue(body, 'aa', cb2); $.dequeue(body, 'aa') //11111 $.dequeue(body, 'aa') //2222查看全部
-
Queue 隊列如同 data 數(shù)據(jù)緩存與 Deferred 異步模型一樣,都是 jQuery 庫的內(nèi)部實現(xiàn)的基礎設施。 但是不同與普通隊列定義的是: jQuery.queue 和 jQuery.fn.queue 不僅執(zhí)行出隊操作返回隊頭元素,還會自動執(zhí)行返回的隊頭元素 fn 是擴展在原型上的高級API是提供給實例使用的 .queue/.dequeue 其內(nèi)部是調(diào)用的 .queue,.dequeue 靜態(tài)的底層方法實現(xiàn)入列與出列查看全部
-
index.html中 converters =>text to json converters =>text to xml 這兩個寫的非常清楚 converters的映射 converters: { // Convert anything to text、 // 任意內(nèi)容轉(zhuǎn)換為字符串 // window.String 將會在min文件中被壓縮為 a.String "* text": window.String, // Text to html (true = no transformation) // 文本轉(zhuǎn)換為HTML(true表示不需要轉(zhuǎn)換,直接返回) "text html": true, // Evaluate text as a json expression // 文本轉(zhuǎn)換為JSON "text json": jQuery.parseJSON, // Parse text as xml // 文本轉(zhuǎn)換為XML "text xml": jQuery.parseXML }查看全部
-
這一節(jié)無論是文檔還是index.html都寫的很不錯,都可以看看!查看全部
-
index.html模擬的真好,值得認真看?。。?查看全部
-
OK,就是整個流程就是: 客戶端發(fā)送一個請求,規(guī)定一個可執(zhí)行的函數(shù)名(這里就是 jQuery 做了封裝的處理,自動幫你生成回調(diào)函數(shù)并把數(shù)據(jù)取出來供 success 屬性方法來調(diào)用,不是傳遞的一個回調(diào)句柄),服務端接受了這個 backfunc 函數(shù)名,然后把數(shù)據(jù)通過實參的形式發(fā)送出去查看全部
-
所以總結(jié)其實 jsonp 的一個核心點:允許用戶傳遞一個 callback 參數(shù)給服務端,然后服務端返回數(shù)據(jù)時會將這個 callback 參數(shù)作為函數(shù)名來包裹住 JSON 數(shù)據(jù),這樣客戶端就可以隨意定制自己的函數(shù)來自動處理返回數(shù)據(jù)了。查看全部
-
預處理的處理就是將其緩存為設置為 false ,瀏覽器將不緩存此頁面,這將在請求的 URL 的查詢字符串中追加一個時間戳參數(shù),以確保每次瀏覽器下載的腳本被重新請求,工作原理是在 GET 請求參數(shù)中附加" _={timestamp} "在請求的地址后面加一個時間戳。查看全部
-
所以 prefilters 就是在特定的環(huán)境針對特定的情況做一些必要的兼容的處理。 請求分發(fā)器 transports: 請求分發(fā)器顧名思義發(fā)送請求, 底層的 ajax 發(fā)送請求是通過 send 方法, jQuery 對 send 方法做了拆分,把對應的處理放到了 transports 中了, transports處理后多出了 script,send,abort 等方法用來增強 $.ajax(), 應僅作為當預過濾器(prefilters)和轉(zhuǎn)換器(converters)無法滿足你的需求的時候的最后的手段。查看全部
-
其實就是閉包的應用,函數(shù)中返回的函數(shù)存儲在兩個變量中供以后直接使用查看全部
-
看index.html,但是覺得這節(jié)沒有理解透徹,ajax({})和ajax.done.fail.always中函數(shù)的執(zhí)行順序沒有看明白?查看全部
舉報
0/150
提交
取消