出版時(shí)間:2013-4 出版社:電子工業(yè)出版社 作者:[美] Evan Goer 譯者:魯超伍
Tag標(biāo)簽:無
內(nèi)容概要
《YUI 3 Cookbook(中文版)》主要以“問題”、“解決方法”和“討論”的形式逐一介紹YUI的各個(gè)模塊及它的整體架構(gòu),包含了時(shí)下流行的模塊加載、MVC編程和Node.js等內(nèi)容,同時(shí)對(duì)于移動(dòng)開發(fā)、國(guó)際化及前端測(cè)試也有所涉獵。相信以前沒有用過YUI的人也能慢慢地學(xué)會(huì)如何使用這個(gè)優(yōu)秀的框架,在你遇到問題時(shí)可以去Github上讀它的源碼或到Y(jié)UI Library上看它的官方文檔和實(shí)例;那些以前用過YUI的人也能了解到一些之前不曾了解的東西,同時(shí)也可以對(duì)其他的項(xiàng)目有所幫助。無論是YUI的API還是源碼,都讓你像使用原生JavaScript那樣使用YUI,因此對(duì)于那些想提高JavaScript編程水平的人一定會(huì)有所幫助。
作者簡(jiǎn)介
作者:(美國(guó))埃文·歌爾(Evan Goer) 譯者:魯超伍
書籍目錄
前言 第 1章模塊加載 1.1加載包和模塊 1.2加載 SimpleYUI 1.3識(shí)別和加載獨(dú)立模塊 1.4加載不同的默認(rèn)皮膚 1.5加載 Gallery模塊 1.6加載 YUI 2組件 1.7加載本地寄宿的代碼 1.8創(chuàng)建你自己的模塊 1.9創(chuàng)建有依賴的模塊 1.10創(chuàng)建真正可重用的模塊 1.11定義自定義模塊組 1.12重用 YUI配置 1.13定義你自己的包 1.14加載 jQuery作為一個(gè) YUI模塊 1.15根據(jù)瀏覽器能力加載模塊 1.16實(shí)時(shí)修補(bǔ) YUI 1.17按需加載模塊 1.18在用戶操作的時(shí)候啟用預(yù)加載 1.19綁定 YUI實(shí)例到 iframe上 1.20實(shí)現(xiàn)靜態(tài)加載 第 2章 DOM操作 2.1獲取元素引用 2.2操作 CSS類 2.3獲取和設(shè)置 DOM屬性 2.4改變?cè)乩锩娴膬?nèi)容 2.5處理元素集合 2.6創(chuàng)建新元素 2.7添加自定義方法到節(jié)點(diǎn)上 2.8添加自定義屬性到節(jié)點(diǎn)上 第3章用戶界面效果和交互 3.1隱藏元素 3.2淡出一個(gè)元素 3.3移動(dòng)元素 3.4創(chuàng)建系列過渡 3.5定義你自己的罐裝過渡 3.6創(chuàng)建一個(gè)無限滾動(dòng)效果 3.7拖曳元素 3.8創(chuàng)建可調(diào)整大小的節(jié)點(diǎn) 3.9實(shí)現(xiàn)可拖曳排序的表格 第4章事件 4.1響應(yīng)鼠標(biāo)滑過、單擊和其他用戶操作 4.2響應(yīng)元素和頁面生命周期事件 4.3控制事件傳播和冒泡 4.4阻止默認(rèn)行為 4.5委托事件 4.6發(fā)出和捕獲自定義事件 4.7用自定義事件驅(qū)動(dòng)應(yīng)用程序 4.8使用對(duì)象方法作為事件處理器 4.9分離事件訂閱 4.10控制事件處理器執(zhí)行順序 4.11創(chuàng)建合成 DOM事件 4.12用另一個(gè)方法響應(yīng)一個(gè)方法調(diào)用 第5章 Ajax 5.1獲取和顯示 XHR數(shù)據(jù) 5.2數(shù)據(jù)傳輸期間處理錯(cuò)誤 5.3直接加載內(nèi)容到節(jié)點(diǎn) 5.4用 XHR提交表單數(shù)據(jù) 5.5用 XHR上傳文件 5.6用腳本節(jié)點(diǎn)獲取 JSON數(shù)據(jù)( JSONP) 5.7用 YQL獲取和顯示數(shù)據(jù) 5.8用 YQL分解 HTML 5.9用 DataSource查詢數(shù)據(jù) 5.10用 DataSchema標(biāo)準(zhǔn)化 DataSource響應(yīng) 第6章 CSS 6.1標(biāo)準(zhǔn)化瀏覽器樣式不一致性 6.2重建統(tǒng)一的基礎(chǔ)樣式 6.3應(yīng)用一致的字體 6.4用網(wǎng)格布局鋪設(shè)內(nèi)容 6.5為響應(yīng)設(shè)計(jì)使用網(wǎng)格 6.6創(chuàng)建一致的按鈕 第7章基礎(chǔ)結(jié)構(gòu) 7.1用屬性管理狀態(tài) 7.2用 Y.extend()創(chuàng)建基本元件 7.3用 Y.Base.create()創(chuàng)建 Base元件 7.4創(chuàng)建一個(gè)基本的組件 7.5用漸進(jìn)增強(qiáng)創(chuàng)建組件 7.6用 Widget渲染遠(yuǎn)程數(shù)據(jù) 7.7創(chuàng)建一個(gè)簡(jiǎn)單的插件 7.8創(chuàng)建一個(gè)插件更改宿主行為 7.9給組件綁定 CSS作為一個(gè) CSS模塊 7.10給組件綁定 CSS作為一個(gè)皮膚 7.11用模型表示數(shù)據(jù) 7.12用同步層持久化模型數(shù)據(jù) 7.13用同步模型列表管理模型 7.14用視圖渲染 HTML 7.15用視圖渲染模型 7.16用視圖渲染模型列表 7.17在 URL中保存狀態(tài)變化 7.18定義和執(zhí)行路由 第8章使用組件 8.1實(shí)例化、渲染和配置組件 8.2創(chuàng)建一個(gè)遮蓋 8.3對(duì)齊和居中遮蓋 8.4讓遮蓋可拖曳 8.5創(chuàng)建一個(gè)簡(jiǎn)單的美化的信息面板 8.6創(chuàng)建一個(gè)模態(tài)對(duì)話框或表單 8.7從一個(gè)遮蓋創(chuàng)建一個(gè)工具提示 8.8從遮蓋創(chuàng)建一個(gè)燈箱效果 8.9創(chuàng)建一個(gè)滑塊 8.10創(chuàng)建一個(gè)標(biāo)簽視圖 8.11創(chuàng)建一個(gè)基本的數(shù)據(jù)表格 8.12格式化數(shù)據(jù)表格的外觀 8.13在數(shù)據(jù)表格里顯示遠(yuǎn)程 JSON數(shù)據(jù)源 8.14在圖表里繪制數(shù)據(jù) 8.15用日歷選擇日期 8.16定義日歷規(guī)則 8.17創(chuàng)建一個(gè)基本的自動(dòng)完成 8.18高亮和過濾自動(dòng)完成結(jié)果 8.19使用遠(yuǎn)程數(shù)據(jù)自動(dòng)完成 8.20自定義自動(dòng)完成結(jié)果列表 第9章工具 9.1決定變量的類型 9.2遍歷數(shù)組和對(duì)象 9.3過濾數(shù)組 9.4合并對(duì)象 9.5從其他對(duì)象組合和繼承 9.6自動(dòng)緩存函數(shù)調(diào)用結(jié)果 9.7用簡(jiǎn)單的字符串替換做模板 9.8格式化數(shù)字 9.9格式化日期 9.10解析任意的 XML 9.11轉(zhuǎn)換顏色值 9.12管理歷史和后退按鈕 9.13轉(zhuǎn)義用戶輸入 9.14給復(fù)選框組分配特殊的行為 9.15實(shí)現(xiàn)簡(jiǎn)單的鍵盤操作和導(dǎo)航 9.16可靠地檢測(cè)輸入框變化 9.17管理和驗(yàn)證表單 第10章服務(wù)器端的 YUI 10.1在服務(wù)器上安裝和運(yùn)行 YUI 10.2在服務(wù)器上同步加載模塊 10.3在命令行里使用 YUI 10.4在服務(wù)器上調(diào)用 YQL 10.5使用 YUI REPL 10.6用 YUI、YQL和 Handlebars構(gòu)造和服務(wù)頁面 第11章通用訪問 11.1預(yù)防無樣式內(nèi)容閃爍 11.2給表單錯(cuò)誤消息增加 ARIA 11.3用 ARIA構(gòu)建組件 11.4用 ARIA插件改造組件 11.5定義翻譯過的字符串 11.6國(guó)際化組件 第12章專業(yè)工具 12.1啟用調(diào)試日志 12.2在頁面上渲染調(diào)試日志輸出 12.3編寫單元測(cè)試 12.4組織單元測(cè)試為套件 12.5通過模擬事件測(cè)試事件處理器 12.6模仿對(duì)象 12.7用 wait()異步測(cè)試 12.8收集和發(fā)布測(cè)試結(jié)果 12.9在多個(gè)瀏覽器中預(yù)提交測(cè)試 12.10在移動(dòng)設(shè)備上測(cè)試 12.11測(cè)試服務(wù)器端的 JavaScript 12.12壓縮你的代碼 12.13文檔化你的代碼 索引
章節(jié)摘錄
版權(quán)頁: 插圖: 討論 創(chuàng)建新元素是任何網(wǎng)站應(yīng)用程序的關(guān)鍵操作。例如,如果你注入一個(gè)可見的組件到頁面上,這個(gè)組件負(fù)責(zé)引導(dǎo)自身到實(shí)體,通過創(chuàng)建、修改和根據(jù)需求添加元素到文檔。 許多開發(fā)者用一個(gè)叫做“漸進(jìn)增強(qiáng)”的設(shè)計(jì)策略來確保當(dāng)JavaScript被禁用或失敗的情況下他們的頁面至少提供基本的功能。這個(gè)理念首先提供了一個(gè)靜態(tài)頁面的骨架,然后用JavaScript增強(qiáng)頁面的行為。一些類型的項(xiàng)目如游戲、書簽或內(nèi)部的商業(yè)程序,可能不需要漸進(jìn)增強(qiáng),但是一般如果沒有遵循這個(gè)策略可能會(huì)導(dǎo)致嚴(yán)重的錯(cuò)誤。YUI包含一些模式直接或間接地支持漸進(jìn)增強(qiáng),例如特性檢測(cè)和Widget的HTML_PARSER屬性,這會(huì)在7.5節(jié)描述。 甚至到現(xiàn)在,許多老的教程和腳本仍然依賴document.write()方法,它把字符串編譯成元素并當(dāng)文檔正在加載時(shí)把這些元素寫到DOM里。在文檔加載后調(diào)用document.write()會(huì)清除并替換整個(gè)頁面文檔,這可能導(dǎo)致奇怪的bug。在文檔加載前調(diào)用document.write()使瀏覽器優(yōu)化如何獲取資源和渲染頁面變得困難。 YUI的Node接口提供了比document.write()更好的創(chuàng)建新元素的方法,這些方法有: · 靜態(tài)的Y.Node,create()方法創(chuàng)建了一個(gè)與文檔分離的新節(jié)點(diǎn),這是在YUI中創(chuàng)建Y.Node對(duì)象的主方法。 · cloneNode()創(chuàng)建了一個(gè)Y.Node節(jié)點(diǎn)的淺復(fù)制(僅僅復(fù)制起始標(biāo)簽)或深復(fù)制(復(fù)制所有的屬性和里面的內(nèi)容)。當(dāng)你需要?jiǎng)?chuàng)建一些相似的節(jié)點(diǎn)時(shí)克隆是一個(gè)有用的優(yōu)化:用Y.Node.create()來創(chuàng)建一個(gè)模板節(jié)點(diǎn),然后克隆這個(gè)模板,像Y.Node.create() -樣,克隆的節(jié)點(diǎn)也是游離文檔之外的。 · 在2.4節(jié)討論的DOM的setHTML()和innerHTML屬性,這些方法用瀏覽器的HTML解析器來把一個(gè)字符串編譯成元素并一次把那些元素插入DOM中,完全替換元素里面的內(nèi)容。
編輯推薦
《YUI 3 Cookbook(中文版)》介紹了這個(gè)庫中具體的實(shí)現(xiàn)模式,從單個(gè)頁面效果到復(fù)雜的網(wǎng)站應(yīng)用程序都演示了具體的解決方法。讀者將學(xué)到如何創(chuàng)建按需加載模塊、生成漂亮的文檔,以及如何寫出強(qiáng)大且靈活的組件、模型和視圖。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載