SlideShare uma empresa Scribd logo
1 de 85
咩星征服計劃
用 JS 征服地球 Part II
羊小咩 Lamb Mei
Lamb-mei@homakimi.com
lamb@lamb-mei.com

現任 禾米數位創意 Consultant
Time of use
19:00 – 22:00

圖片來源 mtmorriscommunitychurch
course content
course content

•
•
•
•

jQuery Introduction
jQuery Seletor
jQuery API
Javascript Online
jQuery Introduction
jQuery Introduction
What is jQuery

圖片來源

http://jquery.com/
jQuery Introduction - What is jQuery

jQuery是一個快速,體積小,功能豐富的
JavaScript Lib。
易於使用的API 處理 HTML DOM 遍歷操作,事
件處理,動畫和Ajax,並簡單處理多種瀏覽器
的問題。

圖片來源

http://jquery.com/
jQuery Introduction - download

版本
1.9.x

此版本很多舊方法因效能問題被棄
用,若有使用套件請注意套件使用
版本

1.10.x

不使用舊方法可使用最心版本

2.x

不支援 IE 6 7 8
http://jquery.com/download/
jQuery Introduction – 如何運作

$("div").addClass("special");
jQuery 基礎 – 如何運作

$("div").addClass("special");

選取的元素
jQuery 基礎 – 如何運作

要做的事情
$("div").addClass("special");

選取的元素
jQuery Selector
jQuery 基礎 –選取元素

$(您想選擇的元素)
jQuery 基礎 –選取元素

<div id="body">
<h2>Some Header</h2>
<div class="contents">
<p>...</p>
<p>...</p>
</div>
</div>
jQuery 基礎 –選取元素
$("div")
<div id="body">
<h2>Some Header</h2>
<div class="contents">
<p>...</p>
<p>...</p>
</div>
</div>

選取所有DIV
jQuery 基礎 –選取元素
$("#body")
<div id="body">
<h2>Some Header</h2>
<div class="contents">
<p>...</p>
<p>...</p>
</div>
</div>

取 id 為 body 的元素
jQuery 基礎 –選取元素
$("div#body")
<div id="body">
<h2>Some Header</h2>
<div class="contents">
<p>...</p>
<p>...</p>
</div>
</div>

選取 id 為 body 的 <div>
jQuery 基礎 –選取元素
$(".contents")
<div id="body">
<h2>Some Header</h2>
<div class="contents">
<p>...</p>
<p>...</p>
</div>
</div>

選取 class 為 contents 的元素
jQuery 基礎 –選取元素
$("div.contents p")
<div id="body">
<h2>Some Header</h2>
<div class="contents">
<p>...</p>
<p>...</p>
</div>
</div>

選取 class 為 contents 的 <div> 底下任何一層的 <p>
jQuery 基礎 –選取元素
$("div > div")
<div id="body">
<h2>Some Header</h2>
<div class="contents">
<p>...</p>
<p>...</p>
</div>
</div>

選取被 <div> 包住的下一層 <div>
jQuery 基礎 –選取元素
$("div:has(div)")
<div id="body">
<h2>Some Header</h2>
<div class="contents">
<p>...</p>
<p>...</p>
</div>
</div>

和前一個範例相反
選取至少有包住一個 <div> 的 <div>
jQuery 基礎 –選取元素
$("div[id]")
<div id="body">
<h2>Some Header</h2>
<div class="contents">
<p>...</p>
<p>...</p>
</div>
</div>

查找所有含有 id 属性的div元素
jQuery 基礎 –選取元素
$("div[class='contents']")
<div id="body">
<h2>Some Header</h2>
<div class="contents">
<p>...</p>
<p>...</p>
</div>
</div>

查找屬性 class 為contents 的 div 元素。
jQuery 基礎 – Ready 事件

jQuery Ready 是 DOMContentLoaded
jQuery 基礎 – Ready 事件

jQuery Ready 是 DOMContentLoaded
DOMContentLoaded
當準備好DOM Tree 就會觸發
jQuery 基礎 – Ready 事件

jQuery Ready 是 DOMContentLoaded
DOMContentLoaded
當準備好DOM Tree 就會觸發

window.onload
所有文件內的元件,包含圖檔等等全部
下載完成後才會觸發
jQuery 基礎 – Ready 事件

$(document).ready(function() {
//do something
});
jQuery 基礎 – Ready 事件

縮寫
$(function() {
//do something
});
jQuery API
jQuery API

Category
• AJAX
jQuery API

Category
• AJAX
• Attributes
jQuery API

Category
• AJAX
• Attributes
• CSS
jQuery API

Category
•
•
•
•

AJAX
Attributes
CSS
Data
jQuery API

Category
•
•
•
•
•

AJAX
Attributes
CSS
Data
Effects
jQuery API

Category
•
•
•
•
•

AJAX
Attributes
CSS
Data
Effects

• Events
jQuery API

Category
•
•
•
•
•

AJAX
Attributes
CSS
Data
Effects

• Events
• Forms
jQuery API

Category
•
•
•
•
•

AJAX
Attributes
CSS
Data
Effects

• Events
• Forms
• Traversing
jQuery API

Category
•
•
•
•
•

AJAX
Attributes
CSS
Data
Effects

•
•
•
•

Events
Forms
Traversing
Selectors
jQuery API

API 查詢
http://api.jquery.com/
jQuery API

API 查詢
http://jqapi.com/
jQuery API

Do Someting
jQuery API – Do Something
.show()

.hide()

.toggle()
jQuery API – Do Something
.show()
顯示元素
.hide()

.toggle()
jQuery API – Do Something
.show()
顯示元素
.hide()
隱藏元素
.toggle()
jQuery API – Do Something
.show()
顯示元素
.hide()
隱藏元素
.toggle()
切換顯示或隱藏
jQuery API – Do Something
.css()
.addClass()
.removeClass()
. toggleClass()
jQuery API – Do Something
.css()
設定樣式
.addClass()
.removeClass()
. toggleClass()
jQuery API – Do Something
.css()
設定樣式
.addClass()
新增 class
.removeClass()
. toggleClass()
jQuery API – Do Something
.css()
設定樣式
.addClass()
新增 class
.removeClass()
移除 class
. toggleClass()
jQuery API – Do Something
.css()
設定樣式
.addClass()
新增 class
.removeClass()
移除 class
. toggleClass()
切換 class
jQuery API – Do Something
. append()
.html()
.text()
jQuery API – Do Something
. append()
設定樣式
.html()
.text()
jQuery API – Do Something
. append()
設定樣式
.html()
設定html
.text()
jQuery API – Do Something
. append()
設定樣式
.html()
設定html
.text()
設定Text 標籤語言無效只當作文字
jQuery API – Do Something
.click()
.bind()
jQuery API – Do Something
.click()
點擊事件
.bind()
jQuery API – Do Something
.click()
點擊事件
.bind()
綁定事件

.unbind()
移除綁定事件
jQuery API

example
jQuery API – Do Something
選取最後一個 <p>,並且修 class 屬性
原始的 HTML

<p>Hello</p>
<p>and</p>
<p>Goodbye</p>
jQuery API – Do Something
選取最後一個 <p>,並且修 class 屬性
原始的 HTML

<p>Hello</p>
<p>and</p>
<p>Goodbye</p>

$( "p:last" ).addClass( "selected highlight" );
jQuery API – Do Something
選取最後一個 <p>,並且修 class 屬性
執行結果的 HTML

<p>Hello</p>
<p>and</p>
<p class="selected highlight">Goodbye</p>

$( "p:last" ).addClass( "selected highlight" );
jQuery API – Do Something
選取 id 為 contents 的元素,並且修 css 屬性
原始的 HTML

<div id="contents">
...
</div>
jQuery API – Do Something
選取 id 為 contents 的元素,並且修 css 屬性
原始的 HTML

<div id="contents">
...
</div>
$("#contents").css({
border: “2px solid red",
height: “60px"
});
jQuery API – Do Something
選取 id 為 contents 的元素,並且修 css 屬性
執行結果的 HTML

<div id="contents” style="border: 2px solid red; height: 60px" >
...
</div>

$("#contents").css({
border: “2px solid red",
height: “60px"
});
jQuery API – Do Something
選取所有有 target 屬性的<a>
並且在其節點下加入一段文字
原始的 HTML

<a href="http://homakimi.com">Homakimi</a>
<a href="http://google.com" target="_blank">Google</a>
<a href="http://yahoo.com" target="_blank">Yahoo</a>
jQuery API – Do Something
選取所有有 target 屬性的<a>
並且在其節點下加入一段文字
原始的 HTML

<a href="http://homakimi.com">Homakimi</a>
<a href="http://google.com" target="_blank">Google</a>
<a href="http://yahoo.com" target="_blank">Yahoo</a>

$("a[target]").append(" (blank)");
jQuery API – Do Something
選取所有有 target 屬性的<a>
並且在其節點下加入一段文字
執行結果的 HTML

<a href="http://homakimi.com">Homakimi</a>
<a href="http://google.com" target="_blank">Google (blank)</a>
<a href="http://yahoo.com" target="_blank">Yahoo (blank)</a>

$("a[target]").append(" (blank)");
jQuery API – Do Something
選取<div>
並修改HTML
原始的 HTML

<span>Hello</span>
<div></div>
jQuery API – Do Something
選取<div>
並修改HTML
原始的 HTML

<span>Hello</span>
<div></div>

$( "div" ).html( "<span class='red'>Hello <b>Again</b></span>" );
jQuery API – Do Something
選取<div>
並修改HTML
執行結果的 HTML

<span>Hello</span>
<div><span class='red'>Hello <b>Again</b></span></div>

$( "div" ).html( "<span class='red'>Hello <b>Again</b></span>" );
jQuery API – Do Something
選取<div>
並修改Text
原始的 HTML

<span>Hello</span>
<div></div>
jQuery API – Do Something
選取<div>
並修改Text
原始的 HTML

<span>Hello</span>
<div></div>

$( "div" ).text( "<span class='red'>Hello <b>Again</b></span>" );
jQuery API – Do Something
選取<div>
並修改Text
執行結果的 HTML

<span>Hello</span>
<div>&lt;span class='red'&gt;Hello
&lt;b&gt;Again&lt;/b&gt;&lt;/span&gt;</div>

$( "div" ).text( "<span class='red'>Hello <b>Again</b></span>" );
jQuery API – Do Something
選取<div>
並修改Text
執行結果的 HTML

<span>Hello</span>
<div>&lt;span class='red'&gt;Hello
&lt;b&gt;Again&lt;/b&gt;&lt;/span&gt;</div>

$( "div" ).text( "<span class='red'>Hello <b>Again</b></span>" );

.html() 和 .text() 最大的不同
Text輸入的資料不會被執行 (避免XSS )
jQuery API – Do Something
選取<button>
並設定click事件
原始的 HTML

<button>I'm a Button</button>
jQuery API – Do Something
選取<button>
並設定click事件
原始的 HTML

<button>I'm a Button</button>

$("button").click(function(){
alert(“You Just Clicked on a Button");
});
Javascript Online
Javascript Online
http://jsfiddle.net/
Javascript Online
http://codepen.io/
Javascript Online
http://jsbin.com/
jQuery API

practice
jQuery API
http://goo.gl/JwAUZD
show & hide
http://codepen.io/phate/pen/sGAzl
toggle
http://codepen.io/phate/pen/pKtsu
addClass & removeClass
http://codepen.io/phate/pen/CEazJ
toggleClass
http://codepen.io/phate/pen/KAdEq
css
http://codepen.io/phate/pen/mErxt
append/prepend
http://codepen.io/phate/pen/AnKys
html / text
http://codepen.io/phate/pen/nHEDi
Thank You!
羊小咩 Lamb Mei
Lamb-mei@homakimi.com
lamb@lamb-mei.com

2014 / 01 / 02

Mais conteúdo relacionado

Semelhante a 咩星征服計劃 用 Js 征服地球 Part II

咩星征服計劃 用 Js 征服地球Part VI
咩星征服計劃 用 Js 征服地球Part VI咩星征服計劃 用 Js 征服地球Part VI
咩星征服計劃 用 Js 征服地球Part VI羊 小咩 (lamb-mei)
 
JQuery 学习
JQuery 学习JQuery 学习
JQuery 学习cssrain
 
John Resig Beijing 2010 (中文版)
John Resig Beijing 2010 (中文版)John Resig Beijing 2010 (中文版)
John Resig Beijing 2010 (中文版)Jia Mi
 
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 教學 ( 搭配 EZoApp )
jQuery 教學 ( 搭配 EZoApp )jQuery 教學 ( 搭配 EZoApp )
jQuery 教學 ( 搭配 EZoApp )EZoApp
 
jQuery 把玩 SVG 初體驗
jQuery 把玩 SVG 初體驗jQuery 把玩 SVG 初體驗
jQuery 把玩 SVG 初體驗Adam Hung
 
富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用luolonghao
 
J Query简介及入门指南
J Query简介及入门指南J Query简介及入门指南
J Query简介及入门指南AppZ
 
向jquery学习
向jquery学习向jquery学习
向jquery学习jay li
 
Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)ziggear
 
Html5和css3入门
Html5和css3入门Html5和css3入门
Html5和css3入门Xiujun Ma
 
JQuery Mobile 框架介紹與使用 20140713
JQuery Mobile 框架介紹與使用 20140713JQuery Mobile 框架介紹與使用 20140713
JQuery Mobile 框架介紹與使用 20140713EZoApp
 
Javascript autoload
Javascript autoloadJavascript autoload
Javascript autoloadjay li
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練42015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4Duran Hsieh
 
Script with engine
Script with engineScript with engine
Script with engineWebrebuild
 
移动Web开发框架jqm探讨
移动Web开发框架jqm探讨移动Web开发框架jqm探讨
移动Web开发框架jqm探讨newker
 
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介Fred Lin
 
HTML5概览
HTML5概览HTML5概览
HTML5概览Adam Lu
 
一步一步开发Html5 mobile apps
一步一步开发Html5 mobile apps一步一步开发Html5 mobile apps
一步一步开发Html5 mobile appsAdam Lu
 

Semelhante a 咩星征服計劃 用 Js 征服地球 Part II (20)

咩星征服計劃 用 Js 征服地球Part VI
咩星征服計劃 用 Js 征服地球Part VI咩星征服計劃 用 Js 征服地球Part VI
咩星征服計劃 用 Js 征服地球Part VI
 
JQuery 学习
JQuery 学习JQuery 学习
JQuery 学习
 
John Resig Beijing 2010 (中文版)
John Resig Beijing 2010 (中文版)John Resig Beijing 2010 (中文版)
John Resig Beijing 2010 (中文版)
 
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 教學 ( 搭配 EZoApp )
jQuery 教學 ( 搭配 EZoApp )jQuery 教學 ( 搭配 EZoApp )
jQuery 教學 ( 搭配 EZoApp )
 
jQuery 把玩 SVG 初體驗
jQuery 把玩 SVG 初體驗jQuery 把玩 SVG 初體驗
jQuery 把玩 SVG 初體驗
 
富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用
 
J Query简介及入门指南
J Query简介及入门指南J Query简介及入门指南
J Query简介及入门指南
 
向jquery学习
向jquery学习向jquery学习
向jquery学习
 
Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)
 
Html5和css3入门
Html5和css3入门Html5和css3入门
Html5和css3入门
 
JQuery Mobile 框架介紹與使用 20140713
JQuery Mobile 框架介紹與使用 20140713JQuery Mobile 框架介紹與使用 20140713
JQuery Mobile 框架介紹與使用 20140713
 
Javascript autoload
Javascript autoloadJavascript autoload
Javascript autoload
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練42015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
 
Script with engine
Script with engineScript with engine
Script with engine
 
Web Development Roadmap
Web Development RoadmapWeb Development Roadmap
Web Development Roadmap
 
移动Web开发框架jqm探讨
移动Web开发框架jqm探讨移动Web开发框架jqm探讨
移动Web开发框架jqm探讨
 
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
 
HTML5概览
HTML5概览HTML5概览
HTML5概览
 
一步一步开发Html5 mobile apps
一步一步开发Html5 mobile apps一步一步开发Html5 mobile apps
一步一步开发Html5 mobile apps
 

咩星征服計劃 用 Js 征服地球 Part II