SlideShare a Scribd company logo
1 of 22
Download to read offline
Chapter 4
 锋利的 jQuery
—— 进入企业级应用阶段
一个相册的实现
一个相册的实现
   获取 a 元素 href 路径
       var source =
whichpic.getAttribute("href");
   获取 placeholder 元素
       var placeholder =
document.getElementById("placeholder
");
   设置 placeholder 的 src 属性

placeholder.setAttribute("src",sourc
e);
一个相册的实现
函数:
function showPic(whichpic) {
var source =
  whichpic.getAttribute("href");
var placeholder =
  document.getElementById("placeholder
  ");
placeholder.setAttribute("src",source
  );
}
一个相册的实现
如何将函数应用到页面交互中?


     事件处理函数
一个相册的实现
ondblclick  鼠标双击时触发此事件
onmousedown 按下鼠标时触发此事件
onmouseover 当鼠标移动到某对象范围的上方
  时触发此事件
onload   页面内容完成时触发此事件
onmove   浏览器的窗口被移动时触发此事件

参考:
 http://www.iteye.com/topic/517899
一个相册的实现
<li>
   <a
   href="images/fireworks.j
   pg"
   onclick="showPic(this);
   return false;" title="A
   fireworks
   display">Fireworks</a>
</li>
一个相册的实现
<li>
   <a
   href="images/fireworks.j
   pg"
   onclick="showPic(this);
   return false;" title="A
   fireworks
   display">Fireworks</a>
</li>
          问题:

                如果没有“ return false;” 呢?
一个相册的实现
增加提示语句

    <p id="description">Choose an
image.</p>

怎样让提示语句部分根据图片的变化显示图
片描述??
一个相册的实现
回顾: DOM 树
一个相册的实现
回顾: DOM 树

某个节点属性是不是这棵树的一部分?


node.ChildNodes

node.firstChild

node.lastChild
一个相册的实现
• 修改 showPic 函数:

• var text =
  whichpic.getAttribute("title");
• var description =
  document.getElementById("description
  ");
• description.firstChild.nodeValue =
  text;
一个相册的实现
• 美化它!

     <link rel="stylesheet" type="text/css"
 href="main.css"/>
Javascript 库
• Prototype
http://prototypejs.org/

• Dojo
http://dojotoolkit.org/

• jQuery
http://jquery.com/
为何选择 jQuery ?
• jQuery 思想: write less, do more

• 封装了大量 DOM 操作

• 封装 Ajax
DOM 到 jQ
• document.getElementById("placeholder")



• $("#placeholder")
DOM 到 jQ
• 重写 javascript 的相册

var source = whichpic.getAttribute("href");
转换为 whichpic.href

var placeholder =
  document.getElementById("placeholder");
转换为 $("#placeholder")

placeholder.setAttribute("src",source);
转换为 placeholder.attr("src",source);
DOM 到 jQ
• 新的函数:

 function showPic(whichpic) {
    var source = whichpic.href;
    $
 ("#placeholder").attr("src",source);

     var desc = whichpic.title;
     $("#description").text(desc);
 }
DOM 到 jQ
• 再简洁些:

 function showPic(whichpic) {
    $
 ("#placeholder").attr("src",whichpic
 .href);
    $
 ("#description").text(whichpic.title
 );
 }

             加入到“示例 2” 查看效果
jQ 强大的选择器
• $("#one")    id 选择器

• $(".mini")   class 选择器

• $('div')     tag 选择器

• $("div span") 子孙 -> 后代
综合设计
• 使用 CSS 及 javascript 仿制 Windows8 Metro
  界面
综合设计
• 使用 CSS 及 javascript 仿制 Windows8 Metro
  界面

More Related Content

What's hot

JQuery 学习
JQuery 学习JQuery 学习
JQuery 学习cssrain
 
Template mb-kao
Template mb-kaoTemplate mb-kao
Template mb-kaoxwcoder
 
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会Joseph Chiang
 
J Query简介及入门指南
J Query简介及入门指南J Query简介及入门指南
J Query简介及入门指南AppZ
 
Sina App Quick Guide 1
Sina App Quick Guide 1Sina App Quick Guide 1
Sina App Quick Guide 1guestf4aed35
 
Backbone.js and MVW 101
Backbone.js and MVW 101Backbone.js and MVW 101
Backbone.js and MVW 101Jollen Chen
 
KISSY Mechanism
KISSY MechanismKISSY Mechanism
KISSY Mechanismlifesinger
 
Underscore
UnderscoreUnderscore
Underscorecazhfe
 
面向未来的重构
面向未来的重构面向未来的重构
面向未来的重构Kejun Zhang
 
更好的文件组织
更好的文件组织更好的文件组织
更好的文件组织Kejun Zhang
 
Script with engine
Script with engineScript with engine
Script with engineWebrebuild
 
前端MVVM框架安全
前端MVVM框架安全前端MVVM框架安全
前端MVVM框架安全Borg Han
 
用Jquery实现拖拽层
用Jquery实现拖拽层用Jquery实现拖拽层
用Jquery实现拖拽层yiditushe
 
一拍一产品背后的故事(React实战)
一拍一产品背后的故事(React实战)一拍一产品背后的故事(React实战)
一拍一产品背后的故事(React实战)Kejun Zhang
 
jQuery 選取器解析
jQuery 選取器解析jQuery 選取器解析
jQuery 選取器解析Kingsley Zheng
 
Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理
Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理
Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理Justin Lin
 
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染Sheng-Han Su
 

What's hot (20)

JQuery 学习
JQuery 学习JQuery 学习
JQuery 学习
 
Template mb-kao
Template mb-kaoTemplate mb-kao
Template mb-kao
 
jQuery入門
jQuery入門jQuery入門
jQuery入門
 
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会
 
J Query简介及入门指南
J Query简介及入门指南J Query简介及入门指南
J Query简介及入门指南
 
Sina App Quick Guide 1
Sina App Quick Guide 1Sina App Quick Guide 1
Sina App Quick Guide 1
 
Backbone.js and MVW 101
Backbone.js and MVW 101Backbone.js and MVW 101
Backbone.js and MVW 101
 
KISSY Mechanism
KISSY MechanismKISSY Mechanism
KISSY Mechanism
 
Underscore
UnderscoreUnderscore
Underscore
 
Javascript
JavascriptJavascript
Javascript
 
面向未来的重构
面向未来的重构面向未来的重构
面向未来的重构
 
更好的文件组织
更好的文件组织更好的文件组织
更好的文件组织
 
J Query Learn
J Query LearnJ Query Learn
J Query Learn
 
Script with engine
Script with engineScript with engine
Script with engine
 
前端MVVM框架安全
前端MVVM框架安全前端MVVM框架安全
前端MVVM框架安全
 
用Jquery实现拖拽层
用Jquery实现拖拽层用Jquery实现拖拽层
用Jquery实现拖拽层
 
一拍一产品背后的故事(React实战)
一拍一产品背后的故事(React实战)一拍一产品背后的故事(React实战)
一拍一产品背后的故事(React实战)
 
jQuery 選取器解析
jQuery 選取器解析jQuery 選取器解析
jQuery 選取器解析
 
Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理
Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理
Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理
 
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
從改寫後台 jQuery 開始的 Vue.js 宣告式渲染
 

Viewers also liked

Part 2-Theatre/Special
Part 2-Theatre/SpecialPart 2-Theatre/Special
Part 2-Theatre/Specialdubermanes
 
Silozuri si instalatii de depozitare (Rumanian)
Silozuri si instalatii de depozitare (Rumanian)Silozuri si instalatii de depozitare (Rumanian)
Silozuri si instalatii de depozitare (Rumanian)Silos Cordoba
 
การไหว้
การไหว้การไหว้
การไหว้kingpai
 
Stuck in Neutral...Mapping Your Business Future
Stuck in Neutral...Mapping Your Business FutureStuck in Neutral...Mapping Your Business Future
Stuck in Neutral...Mapping Your Business FutureChristopher Kappes
 
2015 Toyota Yaris in Scranton | Scranton Toyota Dealership
2015 Toyota Yaris in Scranton | Scranton Toyota Dealership2015 Toyota Yaris in Scranton | Scranton Toyota Dealership
2015 Toyota Yaris in Scranton | Scranton Toyota Dealershipscranton toyota
 
ステキな飼い主になろう!〜意外と知らないドッグマナー「お散歩編」〜
ステキな飼い主になろう!〜意外と知らないドッグマナー「お散歩編」〜ステキな飼い主になろう!〜意外と知らないドッグマナー「お散歩編」〜
ステキな飼い主になろう!〜意外と知らないドッグマナー「お散歩編」〜schoowebcampus
 
Great Sand Dunes Geo 111
Great Sand Dunes Geo 111Great Sand Dunes Geo 111
Great Sand Dunes Geo 111bjnarum
 
Far More Could Be Done To Stop The Deadly Bacteria C
Far More Could Be Done To Stop The Deadly Bacteria CFar More Could Be Done To Stop The Deadly Bacteria C
Far More Could Be Done To Stop The Deadly Bacteria Cesalozzo
 
Abiquo 2.0 from 1000 feet
Abiquo 2.0 from 1000 feetAbiquo 2.0 from 1000 feet
Abiquo 2.0 from 1000 feetabiquo labs
 
Handling equipment (English)
Handling equipment (English)Handling equipment (English)
Handling equipment (English)Silos Cordoba
 
【再放送】創業前に知っておきたいこと【スタートアップ学部・基礎科目】
【再放送】創業前に知っておきたいこと【スタートアップ学部・基礎科目】【再放送】創業前に知っておきたいこと【スタートアップ学部・基礎科目】
【再放送】創業前に知っておきたいこと【スタートアップ学部・基礎科目】schoowebcampus
 
Online regulation and effective regulatory engagement
Online regulation and effective regulatory engagementOnline regulation and effective regulatory engagement
Online regulation and effective regulatory engagementRob Blamires
 
Tender bulletin 04 05-2012
Tender bulletin 04 05-2012Tender bulletin 04 05-2012
Tender bulletin 04 05-2012Booksy Sello
 
15分で誰でもできる、はじめての電子書籍出版 先生:大西隆幸
15分で誰でもできる、はじめての電子書籍出版 先生:大西隆幸15分で誰でもできる、はじめての電子書籍出版 先生:大西隆幸
15分で誰でもできる、はじめての電子書籍出版 先生:大西隆幸schoowebcampus
 
Impact library adelaide q3 2012
Impact library adelaide q3 2012Impact library adelaide q3 2012
Impact library adelaide q3 2012Guy Turner
 

Viewers also liked (19)

Part 2-Theatre/Special
Part 2-Theatre/SpecialPart 2-Theatre/Special
Part 2-Theatre/Special
 
Silozuri si instalatii de depozitare (Rumanian)
Silozuri si instalatii de depozitare (Rumanian)Silozuri si instalatii de depozitare (Rumanian)
Silozuri si instalatii de depozitare (Rumanian)
 
การไหว้
การไหว้การไหว้
การไหว้
 
Stuck in Neutral...Mapping Your Business Future
Stuck in Neutral...Mapping Your Business FutureStuck in Neutral...Mapping Your Business Future
Stuck in Neutral...Mapping Your Business Future
 
2015 Toyota Yaris in Scranton | Scranton Toyota Dealership
2015 Toyota Yaris in Scranton | Scranton Toyota Dealership2015 Toyota Yaris in Scranton | Scranton Toyota Dealership
2015 Toyota Yaris in Scranton | Scranton Toyota Dealership
 
ステキな飼い主になろう!〜意外と知らないドッグマナー「お散歩編」〜
ステキな飼い主になろう!〜意外と知らないドッグマナー「お散歩編」〜ステキな飼い主になろう!〜意外と知らないドッグマナー「お散歩編」〜
ステキな飼い主になろう!〜意外と知らないドッグマナー「お散歩編」〜
 
164187847 emb-engine-d4 ea
164187847 emb-engine-d4 ea164187847 emb-engine-d4 ea
164187847 emb-engine-d4 ea
 
Great Sand Dunes Geo 111
Great Sand Dunes Geo 111Great Sand Dunes Geo 111
Great Sand Dunes Geo 111
 
Far More Could Be Done To Stop The Deadly Bacteria C
Far More Could Be Done To Stop The Deadly Bacteria CFar More Could Be Done To Stop The Deadly Bacteria C
Far More Could Be Done To Stop The Deadly Bacteria C
 
Abiquo 2.0 from 1000 feet
Abiquo 2.0 from 1000 feetAbiquo 2.0 from 1000 feet
Abiquo 2.0 from 1000 feet
 
Handling equipment (English)
Handling equipment (English)Handling equipment (English)
Handling equipment (English)
 
【再放送】創業前に知っておきたいこと【スタートアップ学部・基礎科目】
【再放送】創業前に知っておきたいこと【スタートアップ学部・基礎科目】【再放送】創業前に知っておきたいこと【スタートアップ学部・基礎科目】
【再放送】創業前に知っておきたいこと【スタートアップ学部・基礎科目】
 
Online regulation and effective regulatory engagement
Online regulation and effective regulatory engagementOnline regulation and effective regulatory engagement
Online regulation and effective regulatory engagement
 
Sociolinguistics
SociolinguisticsSociolinguistics
Sociolinguistics
 
Tender bulletin 04 05-2012
Tender bulletin 04 05-2012Tender bulletin 04 05-2012
Tender bulletin 04 05-2012
 
Arijit
ArijitArijit
Arijit
 
Kinect
KinectKinect
Kinect
 
15分で誰でもできる、はじめての電子書籍出版 先生:大西隆幸
15分で誰でもできる、はじめての電子書籍出版 先生:大西隆幸15分で誰でもできる、はじめての電子書籍出版 先生:大西隆幸
15分で誰でもできる、はじめての電子書籍出版 先生:大西隆幸
 
Impact library adelaide q3 2012
Impact library adelaide q3 2012Impact library adelaide q3 2012
Impact library adelaide q3 2012
 

Similar to Web设计 4 锋利的j_query(进入企业级应用阶段)

Javascript autoload
Javascript autoloadJavascript autoload
Javascript autoloadjay li
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践taobao.com
 
Javascript之昨是今非
Javascript之昨是今非Javascript之昨是今非
Javascript之昨是今非Tony Deng
 
咩星征服計劃 用 Js 征服地球 Part II
咩星征服計劃 用 Js 征服地球 Part II咩星征服計劃 用 Js 征服地球 Part II
咩星征服計劃 用 Js 征服地球 Part II羊 小咩 (lamb-mei)
 
Javascript primer plus
Javascript primer plusJavascript primer plus
Javascript primer plusDongxu Yao
 
Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)ziggear
 
前端MVC之backbone
前端MVC之backbone前端MVC之backbone
前端MVC之backboneJerry Xie
 
jQuery底层架构
jQuery底层架构jQuery底层架构
jQuery底层架构fangdeng
 
那 Angular 那 AJAX 那 RESTful
那 Angular 那 AJAX 那 RESTful那 Angular 那 AJAX 那 RESTful
那 Angular 那 AJAX 那 RESTful功豪 魏
 
前端开发之Js
前端开发之Js前端开发之Js
前端开发之Jsfangdeng
 
面向对象的Js培训
面向对象的Js培训面向对象的Js培训
面向对象的Js培训yiditushe
 
J query基础教程(1~2章)
J query基础教程(1~2章)J query基础教程(1~2章)
J query基础教程(1~2章)dong bichao
 
Spring 2.x 中文
Spring 2.x 中文Spring 2.x 中文
Spring 2.x 中文Guo Albert
 
Web设计 5 “动感新势力”(css3 html5 以及 web_gl)
Web设计 5 “动感新势力”(css3 html5 以及 web_gl)Web设计 5 “动感新势力”(css3 html5 以及 web_gl)
Web设计 5 “动感新势力”(css3 html5 以及 web_gl)ziggear
 
jQuery介绍@disandu.com
jQuery介绍@disandu.comjQuery介绍@disandu.com
jQuery介绍@disandu.comThink hy
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17twMVC
 
Dive into kissy
Dive into kissyDive into kissy
Dive into kissyjay li
 

Similar to Web设计 4 锋利的j_query(进入企业级应用阶段) (20)

Javascript autoload
Javascript autoloadJavascript autoload
Javascript autoload
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践
 
Javascript之昨是今非
Javascript之昨是今非Javascript之昨是今非
Javascript之昨是今非
 
咩星征服計劃 用 Js 征服地球 Part II
咩星征服計劃 用 Js 征服地球 Part II咩星征服計劃 用 Js 征服地球 Part II
咩星征服計劃 用 Js 征服地球 Part II
 
Nightwatch101
Nightwatch101Nightwatch101
Nightwatch101
 
A
AA
A
 
A
AA
A
 
Javascript primer plus
Javascript primer plusJavascript primer plus
Javascript primer plus
 
Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)
 
前端MVC之backbone
前端MVC之backbone前端MVC之backbone
前端MVC之backbone
 
jQuery底层架构
jQuery底层架构jQuery底层架构
jQuery底层架构
 
那 Angular 那 AJAX 那 RESTful
那 Angular 那 AJAX 那 RESTful那 Angular 那 AJAX 那 RESTful
那 Angular 那 AJAX 那 RESTful
 
前端开发之Js
前端开发之Js前端开发之Js
前端开发之Js
 
面向对象的Js培训
面向对象的Js培训面向对象的Js培训
面向对象的Js培训
 
J query基础教程(1~2章)
J query基础教程(1~2章)J query基础教程(1~2章)
J query基础教程(1~2章)
 
Spring 2.x 中文
Spring 2.x 中文Spring 2.x 中文
Spring 2.x 中文
 
Web设计 5 “动感新势力”(css3 html5 以及 web_gl)
Web设计 5 “动感新势力”(css3 html5 以及 web_gl)Web设计 5 “动感新势力”(css3 html5 以及 web_gl)
Web设计 5 “动感新势力”(css3 html5 以及 web_gl)
 
jQuery介绍@disandu.com
jQuery介绍@disandu.comjQuery介绍@disandu.com
jQuery介绍@disandu.com
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17
 
Dive into kissy
Dive into kissyDive into kissy
Dive into kissy
 

Web设计 4 锋利的j_query(进入企业级应用阶段)