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