JavaScript DOM高級(jí)程序設(shè)計(jì)

出版時(shí)間:2008-7  出版社:人民郵電出版社  作者:Jeffrey Sambells,Aaron Gustafson  頁(yè)數(shù):457  譯者:李松峰,李雅雯  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

  《圖靈程序設(shè)計(jì)從書(shū):JavaScript DOM高級(jí)程序設(shè)計(jì)》注重理論與實(shí)踐的結(jié)合,全面講述高級(jí)的DOM腳本編程?!秷D靈程序設(shè)計(jì)從書(shū):JavaScript DOM高級(jí)程序設(shè)計(jì)》分為3個(gè)部分:第一部分“深入理解DOM腳本編程”,涉及W3C DOM規(guī)范的各方面,包括非標(biāo)準(zhǔn)的瀏覽器支持和不支持的內(nèi)容;第二部分“瀏覽器外部通信”,以Ajax和客戶(hù)端—服務(wù)器端通信為主題;第三部分“部分高級(jí)腳本編程資源”,集中介紹了一批第三方腳本編程資源,包括庫(kù)和API。同時(shí),每部分的最后一章都為案例研究,將學(xué)到的內(nèi)容應(yīng)用于實(shí)踐。通過(guò)學(xué)習(xí)全書(shū)內(nèi)容,讀者將能構(gòu)建起屬于自己的DOM實(shí)用方法庫(kù)。

作者簡(jiǎn)介

  Jeffrey Sambells,資深Web設(shè)計(jì)師和程序員,We-Create公司創(chuàng)始人之一暨研發(fā)總監(jiān)。除本書(shū)外,他還與人合寫(xiě)了Beginning Google Maps Applications with PHP and Ajax等著作?! aron Gustafson,世界頂尖的Web工程師,創(chuàng)建了Web咨詢(xún)公司Easy!Designs LLC.。Aaron是WaSP(Web標(biāo)準(zhǔn)項(xiàng)目)和GAWDS(可訪(fǎng)問(wèn)性Web設(shè)計(jì)協(xié)會(huì))的成員。他還是A List Apart網(wǎng)站的技術(shù)編輯,Digital Web Magazine和MSDN等著名雜志的撰稿人。

書(shū)籍目錄

第一部分 深入理解DOM腳本編程第1章 遵循最佳實(shí)踐1.1 不唐突和漸進(jìn)增強(qiáng)1.2 讓JavaScript運(yùn)行起來(lái)1.2.1 把行為從結(jié)構(gòu)中分離出來(lái)1.2.2 不要版本檢測(cè)1.2.3 通過(guò)平穩(wěn)退化保證可訪(fǎng)問(wèn)性1.2.4 為重用命名空間而進(jìn)行規(guī)劃1.2.5 通過(guò)可重用的對(duì)象把事情簡(jiǎn)化1.2.6 一定要自己動(dòng)手寫(xiě)代碼1.3 JavaScript語(yǔ)法中常見(jiàn)的陷阱1.3.1 區(qū)分大小寫(xiě)1.3.2 單引號(hào)與雙引號(hào)1.3.3 換行1.3.4 可選的分號(hào)和花括號(hào)1.3.5 重載(并非真正的重載)1.3.6 匿名函數(shù)1.3.7 作用域解析和閉包1.3.8 迭代對(duì)象1.3.9 函數(shù)的調(diào)用和引用(不帶括號(hào))1.4 實(shí)例:WYSIWYGJavaScript翻轉(zhuǎn)圖1.5 小結(jié)第2章 創(chuàng)建可重用的對(duì)象2.1 對(duì)象中包含什么2.1.1 繼承2.1.2 理解對(duì)象成員2.1.3 window對(duì)象中的一切2.1.4 理解作用域和閉包是根本2.2 創(chuàng)建你自己的對(duì)象2.2.1 一變多:創(chuàng)建構(gòu)造函數(shù)2.2.2 添加靜態(tài)方法2.2.3 向原型中添加公有方法2.2.4 公有、私有、特權(quán)和靜態(tài)成員真那么重要嗎2.2.5 對(duì)象字面量2.3 this是什么2.4 try{}、catch{}和異常處理2.5 實(shí)例:你自己的調(diào)試日志2.5.1 為什么需要JavaScript日志對(duì)象2.5.2 myLogger()對(duì)象2.6 小結(jié)第3章 DOM2核心和DOM2 HTML3.1 DOM不是JavaScript,它是文檔3.2 DOM的級(jí)別3.2.1 DOM 0 級(jí)3.2.2 DOM 1 級(jí)3.2.3 DOM 2 級(jí)3.2.4 DOM 3 級(jí)3.2.5 哪個(gè)級(jí)別適合你3.3 創(chuàng)建示例文檔3.3.1 創(chuàng)建DOM文件3.3.2 選擇一個(gè)瀏覽器3.4 DOM核心3.4.1 繼承在DOM中的重要性3.4.2 核心Node對(duì)象3.4.3 核心Element對(duì)象3.4.4 核心Document對(duì)象3.4.5 遍歷和迭代DOM樹(shù)3.5 DOM HTML3.5.1 DOM2 HTML 的HTMLDocument對(duì)象3.5.2 DOM2 HTML 的HTMLElement對(duì)象3.6 實(shí)例:將手工HTML代碼轉(zhuǎn)換為DOM代碼3.6.1 DOM生成工具的HTML文件3.6.2 使用示例HTML片段進(jìn)行測(cè)試3.6.3 擴(kuò)充ADS庫(kù)3.6.4 generateDOM對(duì)象的框架3.7 小結(jié)第4章 響應(yīng)用戶(hù)操作和事件4.1 DOM2級(jí)事件4.2 事件的類(lèi)型4.2.1 對(duì)象事件4.2.2 鼠標(biāo)移動(dòng)事件4.2.3 鼠標(biāo)單擊事件4.2.4 鍵盤(pán)事件4.2.5 表單相關(guān)的事件4.2.6 針對(duì)W3C DOM的事件4.2.7 自定義事件4.3 控制事件流和注冊(cè)事件偵聽(tīng)器4.3.1 事件流4.3.2 注冊(cè)事件4.3.3 在事件偵聽(tīng)器中訪(fǎng)問(wèn)事件對(duì)象4.3.4 跨瀏覽器的事件屬性和方法4.4 小結(jié)第5章 動(dòng)態(tài)修改樣式和層疊樣式表5.1 W3CDOM2樣式規(guī)范5.1.1 CSSStyleSheet對(duì)象5.1.2 CSSStyleRule對(duì)象5.1.3 CSSStyleDeclaration對(duì)象5.1.4 支持的匱乏5.2 當(dāng)DOM 腳本遇到樣式5.3 把樣式置于DOM腳本之外5.3.1 style屬性5.3.2 基于className切換樣式5.3.3 切換樣式表5.3.4 修改CSS規(guī)則5.4 訪(fǎng)問(wèn)計(jì)算樣式5.5 Microsoft的filter屬性5.6 實(shí)例:簡(jiǎn)單的漸變效果5.7 小結(jié)第6章 案例研究:圖像裁剪和縮放工具6.1 測(cè)試文件6.2 imageEditor對(duì)象6.2.1 調(diào)用imageEditor工具6.2.2 imageEditor載入事件6.2.3 創(chuàng)建編輯器標(biāo)記和對(duì)象6.2.4 向imageEditor對(duì)象添加事件偵聽(tīng)器6.2.5 縮放圖像6.2.6 裁剪圖像6.2.7 未完成的圖像編輯器6.3 小結(jié)第二部分 瀏覽器外部通信第7章 向應(yīng)用程序中加入Ajax7.1 組合的技術(shù)7.1.1 語(yǔ)義化XHTML和DOM7.1.2 JavaScript和XMLHttpRequest對(duì)象7.1.3 XML7.1.4 一個(gè)可重用的對(duì)象7.1.5 Ajax是正確的選擇嗎7.2 為什么Ajax會(huì)破壞網(wǎng)站及如何解決7.2.1 依賴(lài)JavaScript生成內(nèi)容7.2.2 通過(guò)script標(biāo)簽繞過(guò)跨站點(diǎn)限制7.2.3 后退按鈕和書(shū)簽功能7.2.4 完成請(qǐng)求的賽跑7.2.5 增加資源占用7.2.6 問(wèn)題解決了嗎7.3 實(shí)例:Ajax增強(qiáng)的相冊(cè)7.4 小結(jié)第8章 案例研究:實(shí)現(xiàn)帶進(jìn)度條的異步文件上傳功能8.1 信息載入時(shí)的小生命8.2 起點(diǎn)8.3 完成整合:上傳進(jìn)度指示器8.3.1 addProgressBar()對(duì)象的結(jié)構(gòu)8.3.2 載入事件8.3.3 addProgressBar()對(duì)象8.4 小結(jié)第三部分 部分高級(jí)腳本編程資源第9章 通過(guò)庫(kù)來(lái)提高生產(chǎn)力9.1 選擇合適的庫(kù)9.2 增強(qiáng)DOM操作能力9.2.1 連綴語(yǔ)法9.2.2 通過(guò)回調(diào)函數(shù)進(jìn)行過(guò)濾9.2.3 操縱DOM文檔9.3 處理事件9.3.1 注冊(cè)事件9.3.2 自定義事件9.4 訪(fǎng)問(wèn)和操縱樣式9.5 通信9.6 小結(jié)第10章 添加效果增強(qiáng)用戶(hù)體驗(yàn)10.1 自己動(dòng)手實(shí)現(xiàn)效果10.1.1 讓我看到內(nèi)容10.1.2 提供反饋10.2 幾個(gè)視覺(jué)效果庫(kù)簡(jiǎn)介10.3 視覺(jué)盛宴10.3.1 MOO式的CSS屬性修改10.3.2 通過(guò)Script.aculo.us實(shí)現(xiàn)視覺(jué)效果10.3.3 通過(guò)Moo.fx實(shí)現(xiàn)逼真的運(yùn)動(dòng)效果10.3.4 圓角效果10.3.5 其他庫(kù)10.4 行為增強(qiáng)10.5 小結(jié)第11章 豐富的Mashup!運(yùn)用API添加地圖、搜索及更多功能11.1 API密鑰11.2 客戶(hù)端API:離不開(kāi)JavaScript11.2.1 地圖中的Mashup應(yīng)用11.2.2 Ajax搜索請(qǐng)求11.2.3 地圖與搜索的Mashup應(yīng)用11.3 服務(wù)器端API:需要代理腳本11.3.1 通過(guò)Basecamp構(gòu)建集成的To-Do列表11.3.2 通過(guò)Flickr取得個(gè)性頭像11.4 小結(jié)第12章 案例研究:用DOM設(shè)計(jì)選擇列表12.1 經(jīng)典的感覺(jué)12.2 構(gòu)建更好的選擇列表12.3 策略?我們不需要臭哄哄的策略12.3.1 相關(guān)的文件12.3.2 FauxSelect對(duì)象12.3.3 開(kāi)始創(chuàng)建人造select元素12.3.4 查找select元素12.3.5 構(gòu)建DOM元素12.4 添加事件——為人造select賦予生命12.5 讓表單綻放光彩12.6 行為修正12.6.1 z-index來(lái)救急12.6.2 鍵盤(pán)控制及其他細(xì)節(jié)12.6.3 select太大了嗎12.7 最后的細(xì)節(jié)12.8 繼續(xù)替換select的冒險(xiǎn)12.9 小結(jié)

章節(jié)摘錄

  第一章 遵循最佳實(shí)踐  你很興奮,你的客戶(hù)也很興奮。你剛剛為客戶(hù)安裝啟用了新版的網(wǎng)站,一切都很順利。網(wǎng)站很花哨,它歷經(jīng)了數(shù)小時(shí)汗水和淚水的澆灌,每一處設(shè)計(jì)細(xì)節(jié)——擴(kuò)展式菜單、交互的Aiax都精心調(diào)試過(guò),所有新式花樣無(wú)所不包。它看上去很不錯(cuò),運(yùn)行得也很完美,所有人都沉浸在喜悅中。然而,一周之后,噩夢(mèng)開(kāi)始了??蛻?hù)慌里慌張地打來(lái)電話(huà),好像是據(jù)他們的部分顧客來(lái)電話(huà)反應(yīng)說(shuō)主頁(yè)上的鏈接打不開(kāi)了,而另外一些顧客在填寫(xiě)反饋表單時(shí)也碰到了問(wèn)題。但在你和你的客戶(hù)那里卻不存在這些的問(wèn)題。還有一些人也打來(lái)電話(huà),抱怨下載網(wǎng)站的每一個(gè)頁(yè)面都要等很長(zhǎng)時(shí)間,即使看上去網(wǎng)頁(yè)內(nèi)容并不很多,而你從來(lái)沒(méi)有發(fā)現(xiàn)下載時(shí)間有問(wèn)題。更糟糕的是,隨后,你客戶(hù)發(fā)現(xiàn)網(wǎng)站在搜索引擎中的排名一落千丈??磥?lái)事情沒(méi)有想象的那么樂(lè)觀(guān),但問(wèn)題出在哪里  呢?下面我們就一起來(lái)查找原因。  最佳實(shí)踐是人們做事時(shí)應(yīng)該遵循的、被公認(rèn)和經(jīng)過(guò)驗(yàn)證的模式。雖然不一定是唯一的,甚至不是最佳的方式,但這些方式是大多數(shù)人認(rèn)同的做事方式。一般的書(shū)在最后部分會(huì)提到一些最佳實(shí)踐,這更多地是一種提示,即在你已學(xué)會(huì)了每件事并按自己的方式行事時(shí),告訴你還會(huì)有一種最適當(dāng)?shù)姆绞?。我之所以把最佳?shí)踐放在前面來(lái)講,就是為了讓你在開(kāi)始學(xué)習(xí)新知識(shí)之前,先明確正確的方向。如果有陽(yáng)關(guān)大道,那又何必去走獨(dú)木橋呢?  1.1 不唐突和漸進(jìn)增強(qiáng)  XHTML(ExteIlsibleHyperext Markup Laneuaee,可擴(kuò)展超文本標(biāo)記語(yǔ)言)、CSS(Cascading StyleSheet,層疊樣式表)和使用JaVaScript的DOM(DocumentObjectModel,文檔對(duì)象模型)腳本是Web設(shè)計(jì)的三個(gè)主要部分。其中,XHTML用于提供文檔結(jié)構(gòu)的語(yǔ)義標(biāo)記,CSS為文檔布局提供定位和樣式,而DOM腳本編程用于增強(qiáng)文檔的行為和交互性。發(fā)現(xiàn)了嗎?我剛才說(shuō)DOM腳本“增強(qiáng)”,而不是為文檔“提供”行為和交互性?!霸鰪?qiáng)”和“提供”之間的差異暗示了一個(gè)重要區(qū)別。我們都學(xué)過(guò)XHTML語(yǔ)義,知道驗(yàn)證文檔是否符合w3c規(guī)范,而且也都在用CSS來(lái)為嚴(yán)格型XHTML文檔標(biāo)記應(yīng)用適當(dāng)?shù)臉邮剑▽?duì)吧?)。但是,作為第三個(gè)主要部分的DOM腳本,雖然它可以把事情做得格外漂亮,為我們的wleb應(yīng)用程序增光添彩,卻有可能是一個(gè)唐突的家伙。DOM腳本編程依賴(lài)于JavaScript。

編輯推薦

  “本書(shū)是一本全景式的、溝通歷史和未來(lái)的Web開(kāi)發(fā)經(jīng)典好書(shū)。是對(duì)現(xiàn)有JavaScript DoM程序開(kāi)發(fā)最佳實(shí)踐的一次大檢閱和大放送,是推動(dòng)Web標(biāo)準(zhǔn)化和向下一代Web開(kāi)發(fā)挺進(jìn)的里程碑式著作?!薄  緯?shū)譯者  “如果你是一位中級(jí)JavaScript人員,還想更上一層樓,那么這將是使你夢(mèng)想成真的絕妙好書(shū)。”  ——DOMAssistant庫(kù)的作者Robert Nyman  本書(shū)深入淺出地講述了作為一名專(zhuān)業(yè)的Web開(kāi)發(fā)人員(或者真正的高手)所必須了解和掌握的高級(jí)知識(shí),是Web編程領(lǐng)域名副其實(shí)的扛鼎之作。書(shū)中對(duì)核心JavaScript原理的總結(jié)和概括、對(duì)最佳實(shí)踐的倡導(dǎo)和踐行、對(duì)DOM規(guī)范講解的提綱挈領(lǐng)、對(duì)瀏覽器外部通信(Ajax)的反思與解決之道、對(duì)Web 2.o rXJ容整合(Mashup)的分類(lèi)與講說(shuō)等,無(wú)一不折射出這本書(shū)是作者博觀(guān)約取、厚積薄發(fā)的心血力作?! ∨c此同時(shí),如果你也醉心于Prototype、jQuery、YUI、Ext等優(yōu)秀的JavaScript庫(kù),想見(jiàn)微知著地真正理解這些庫(kù)背后的工作原理,甚至希望創(chuàng)建自己的庫(kù),那么這本書(shū)恰好適合你。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    JavaScript DOM高級(jí)程序設(shè)計(jì) PDF格式下載


用戶(hù)評(píng)論 (總計(jì)22條)

 
 

  •     這本書(shū)很值得一看。195頁(yè)的editCSSRules函數(shù)貌似有點(diǎn)問(wèn)題:
      for (var j = 0; j < rules.length; j++)
      if (rules[j].selectorText.toUpperCase() == selector)
      for (porperty in styles)
       if ( !styles.hasOwnProperty(property) ) continue;
       rules[j].style[camelize(property)] = styles[property];
      
      //if ( !styles.hasOwnProperty(property) ) continue;這個(gè)if通過(guò)檢測(cè)styles是否具有property,貌似總是成立的,應(yīng)該是檢測(cè)styles的property屬性是否具有值,即: if (!styles[property]) continue; 如果沒(méi)有賦值的話(huà)繼續(xù)循環(huán),有的話(huà),就把property屬性的格式改寫(xiě)成駝峰式(比如font-size改寫(xiě)成fontSize),并賦予原本的值。
      
      
      
      
      
  •     市面上已經(jīng)停售了,只能團(tuán)購(gòu),有誰(shuí)組織一下,想買(mǎi),hxzon@163.com,AdvancED DOM Scripting,JavaScript.DOM高級(jí)程序設(shè)計(jì)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  •     本書(shū)可以分為三個(gè)部分
      1 深入講解DOM編程世界
      很少有書(shū)能像本書(shū)這樣有條理的解釋DOM,它簡(jiǎn)直就是W3C標(biāo)準(zhǔn)文檔的簡(jiǎn)明指導(dǎo),通讀本部分內(nèi)容,讀者會(huì)把DOM世界的模型印在腦子里,所謂學(xué)知識(shí)要先把握總綱,然后探究細(xì)節(jié)。
      2 與服務(wù)器端通信和AJAX
      本書(shū)對(duì)于A(yíng)jax技術(shù)的講解也值得一讀,它并不著眼于A(yíng)jax技術(shù)的具體細(xì)節(jié),而是注重講解Ajax的使用方式,尤其是怎樣避免Ajax帶來(lái)的缺陷,我們知道并不能因?yàn)闀?huì)用一門(mén)技術(shù)就該使用它。
      3 簡(jiǎn)單介紹幾種時(shí)下流行的js庫(kù)
      本部分可以可以作為IT雜志,簡(jiǎn)單了解一些js庫(kù)的特點(diǎn)。
      
      總結(jié),本書(shū)可作為進(jìn)階教材,要求讀者懂得基本的js語(yǔ)法,尤其推薦給在職人員
  •     比不上那本尼古拉斯寫(xiě)的高級(jí)程序設(shè)計(jì),可能要?dú)w咎于本身比較薄吧,看了各位的評(píng)分,似乎也沒(méi)有那本書(shū)那么受好評(píng)。
  •     看了前兩章,已經(jīng)感覺(jué)到豁然開(kāi)朗,本書(shū)不是給你講如何實(shí)現(xiàn)簡(jiǎn)單的AJAX效果,而是告訴你如何寫(xiě)個(gè)自己的開(kāi)源庫(kù),如何像個(gè)功夫高手一樣寫(xiě)代碼。感覺(jué)到大師思想和功力的深厚。
      
      水滴石穿,本書(shū)正是你通往達(dá)人之路的最佳選擇,我毫不猶豫的給5星推薦給javascript之路上修煉的同志。
  •     完全不認(rèn)為這是高級(jí),如果想了解dom還是看dom的文檔吧,看權(quán)威指南后面的文檔比這好多了,想深入一點(diǎn)就看一下類(lèi)庫(kù)源碼吧,這本不是給想看高級(jí)的人看的。
  •     
      很好的書(shū),不依賴(lài)與某個(gè)庫(kù),而是教你自己實(shí)現(xiàn)一個(gè)自己的庫(kù)。
      確實(shí),如果太過(guò)于依賴(lài)于某個(gè)庫(kù),完全不理解庫(kù)的內(nèi)部原理,會(huì)讓讓自己迷失在表層
      構(gòu)建一個(gè)自己的庫(kù),可以讓自己對(duì)dom,對(duì)js,對(duì)跨瀏覽器又更深入的理解
  •   是中文的嗎?
  •   在哪團(tuán)購(gòu)啊
  •   哪里有得團(tuán)?我也要啊。。。
  •   嗯,哪有得團(tuán)~
  •   樓主 哪兒有?
  •   想團(tuán)
  •   在哪?
  •   加QQ,2437899511 團(tuán)購(gòu)。加的時(shí)候請(qǐng)注明
  •   不能用薄厚來(lái)進(jìn)行比較,廢話(huà)很多也可以寫(xiě)的很厚,但你會(huì)看的很痛苦。
    我覺(jué)得這本與javascript高級(jí)程序設(shè)計(jì)沒(méi)什么可比性。
  •   高級(jí)程序設(shè)計(jì)與這本完全沒(méi)有可比性,一本注重理論,一本注重應(yīng)用。剛剛讀完高級(jí)程序設(shè)計(jì)第二版,和犀牛書(shū)對(duì)比來(lái)說(shuō),作為一個(gè)前端開(kāi)發(fā)者應(yīng)該最少有一本用來(lái)當(dāng)手冊(cè)用。
    我認(rèn)為這本書(shū)很有必要買(mǎi)本
  •   請(qǐng)說(shuō)下實(shí)話(huà),適合初學(xué)者?
  •   不錯(cuò),很煽情,準(zhǔn)備買(mǎi)本看看
  •   寫(xiě)得這么煽情,搞得你自己有托的嫌疑了,我也去看看
  •   真的有用 ??
    不要騙人啊
    初學(xué)者適合不?
    有HTML ,JAVA, C#基礎(chǔ)
  •   初學(xué)還是看《javascript高級(jí)編程第三版》
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7