bài 7: thư viện jquery và thư viện jquery ui - giáo trình fpt

53
Bài 7: Thư viện jQuery và thư viện jQuery UI

Upload: hoc-lap-trinh-web

Post on 17-Jun-2015

7.505 views

Category:

Documents


13 download

DESCRIPTION

Thự viện và cách tạo thư viện Thư viện JavaScript Sử dụng thư viện jQuery Sử dụng jQuery để tạo hiệu ứng Hiệu ứng ẩn hiện Hiệu ứng mờ Hiệu ứng chuyển động Sử dụng thư viện jQuery UI Tạo tính năng kéo thả (drag and drop) Tạo menu chồng nhau Thự viện và cách tạo thư viện Thư viện JavaScript Sử dụng thư viện jQuery Sử dụng jQuery để tạo hiệu ứng Hiệu ứng ẩn hiện Hiệu ứng mờ Hiệu ứng chuyển động Sử dụng thư viện jQuery UI Tạo tính năng kéo thả (drag and drop) Tạo menu chồng nhau

TRANSCRIPT

Page 1: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Bài 7:Thư viện jQuery và thư viện jQuery UI

Page 2: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Hệ thống bài cũ

Viết mã tạo các hiệu ứngHiệu ứng Image RolloverHiệu ứng SlideShow

Thao tác với các điều khiểnSelectBoxCheckBoxRadioButtonForm

Kiểm tra tính hợp lệ cho FormCSS trong JavaScript

Viết mã tạo các hiệu ứngHiệu ứng Image RolloverHiệu ứng SlideShow

Thao tác với các điều khiểnSelectBoxCheckBoxRadioButtonForm

Kiểm tra tính hợp lệ cho FormCSS trong JavaScript

Thư viện jQuery và jQuery UI 2

Page 3: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Mục tiêu bài học

Thự viện và cách tạo thư việnThư viện JavaScriptSử dụng thư viện jQuerySử dụng jQuery để tạo hiệu ứng

Hiệu ứng ẩn hiệnHiệu ứng mờHiệu ứng chuyển động

Sử dụng thư viện jQuery UITạo tính năng kéo thả (drag and drop)Tạo menu chồng nhau

Thự viện và cách tạo thư việnThư viện JavaScriptSử dụng thư viện jQuerySử dụng jQuery để tạo hiệu ứng

Hiệu ứng ẩn hiệnHiệu ứng mờHiệu ứng chuyển động

Sử dụng thư viện jQuery UITạo tính năng kéo thả (drag and drop)Tạo menu chồng nhau

Thư viện jQuery và jQuery UI 3

Page 4: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

THƯ VIỆNJAVASCRIPT

Lập trình hướng đối tượng và mô hình DOM 4

THƯ VIỆNJAVASCRIPT

Page 5: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Thư việnVấn đề nảy sinh

Lập trình viên nhận thấy trong quá trình lập trình phải thựchiện lặp lại nhiều chức năng thông dụng

Giải phápTạo một thư viện các đoạn mã thực hiện các chức năng thôngdụng để chia sẻ chungLập trình viên chia làm 2 hướng:

Những chuyên gia nghiên cứu sâu về hệ thống để viết các đoạn mãtối ưu cho thư việnCác lập trình viên viết các ứng dụng sử dụng đoạn mã từ thư viện

Ưu điểm giải phápLập trình trở nên dễ dàng hơnTiết kiệm thời gianThư viện ngày càng được tối ưu

Vấn đề nảy sinhLập trình viên nhận thấy trong quá trình lập trình phải thựchiện lặp lại nhiều chức năng thông dụng

Giải phápTạo một thư viện các đoạn mã thực hiện các chức năng thôngdụng để chia sẻ chungLập trình viên chia làm 2 hướng:

Những chuyên gia nghiên cứu sâu về hệ thống để viết các đoạn mãtối ưu cho thư việnCác lập trình viên viết các ứng dụng sử dụng đoạn mã từ thư viện

Ưu điểm giải phápLập trình trở nên dễ dàng hơnTiết kiệm thời gianThư viện ngày càng được tối ưu

Thư viện jQuery và jQuery UI 5

Page 6: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Xây dựng thư viện JavaScript

Có thể tự xây dựng thư viện cho cho riêng mình hoặc dùngđể chia sẻThực hiện viết mã cho thư viện

Viết mã thư viện trong một file .jsKhi cần sử dụng thì tham chiếu đến file này

Thư viện jQuery và jQuery UI 6

Page 7: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Demo xây dựng thư viện

Viết mã cho thư viện trong file myLibrary.js

Sử dụng đối tượng MyLibrary trong thư viện

var MyAlert = {};MyAlert.sendAlert = function(mesg) {

alert(mesg);};

<html><head><script type="text/javascript" src="myLibrary.js" ></script></head><body><script type="text/javascript">

MyAlert.sendAlert("Xin chào, đây là thư viện của tôi");</script></body></html>

Viết mã cho thư viện trong file myLibrary.js

Sử dụng đối tượng MyLibrary trong thư viện

Thư viện jQuery và jQuery UI 7

<html><head><script type="text/javascript" src="myLibrary.js" ></script></head><body><script type="text/javascript">

MyAlert.sendAlert("Xin chào, đây là thư viện của tôi");</script></body></html>

(Xem ví dụ My Library)

Page 8: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Các thư viện của JavaScript

Lập trình mất nhiều thời gian và công sức để làm cho trangweb chạy giống nhau trên nhiều trình duyệt Cần có những người nghiên cứu sâu về các trình duyệt, mãjavascript để viết nên thư viện các chức năng thông dụng chạytốt trên nhiều trình duyệt

Có rất nhiều thư viện cho JavaScript, mỗi thư viện có một thếmạnh riêng

Jquery (Tham khảo: http://jquery.com)Yahoo! User Interface (YUI, Tham khảo:http://developer.yahoo.com/yui)MooTools (Tham khảo: http://mootools.net)Và các thư viện khác (Tham khảo:http://en.wikipedia.org/wiki/comparison_of_JavaScript_frameworks)

Lập trình mất nhiều thời gian và công sức để làm cho trangweb chạy giống nhau trên nhiều trình duyệt Cần có những người nghiên cứu sâu về các trình duyệt, mãjavascript để viết nên thư viện các chức năng thông dụng chạytốt trên nhiều trình duyệt

Có rất nhiều thư viện cho JavaScript, mỗi thư viện có một thếmạnh riêng

Jquery (Tham khảo: http://jquery.com)Yahoo! User Interface (YUI, Tham khảo:http://developer.yahoo.com/yui)MooTools (Tham khảo: http://mootools.net)Và các thư viện khác (Tham khảo:http://en.wikipedia.org/wiki/comparison_of_JavaScript_frameworks)

Thư viện jQuery và jQuery UI 8

Page 9: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

THƯ VIỆN

JQuery

Lập trình hướng đối tượng và mô hình DOM 9

THƯ VIỆN

JQuery

Page 10: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

jQuery

jQuery là một thư viện JavaScript được ưa chuộng và dễ sửdụngThư viện jQuery bao gồm 1 file JavaScript (Click vào đây đểxem file)

Thư viện jQuery và jQuery UI 10

Page 11: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Làm quen jQuery qua ví dụ đầu tiên

Thư viện jQuery và jQuery UI 11

Nhấn vào đoạnvăn bản thì đoạnvăn bản biến mất

Xem Vi du jQuery dau tien

Page 12: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Làm quen jQuery qua ví dụ đầu tiên

<html><head><script type="text/javascript" src="jquery.js" ></script><script type="text/javascript">$(document).ready(function(){$("p").click(function(){$(this).hide();});

});</script></head>

<body><p>Hay nhan vao toi, toi se bien mat!!!</p></body></html>

Tham chiếu đếnthư viện

Mã jQuery

Thư viện jQuery và jQuery UI 12

<html><head><script type="text/javascript" src="jquery.js" ></script><script type="text/javascript">$(document).ready(function(){$("p").click(function(){$(this).hide();});

});</script></head>

<body><p>Hay nhan vao toi, toi se bien mat!!!</p></body></html>

Mã jQuery

Page 13: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Thêm thư viện vào trang web của bạn

B1. Truy cập địa chỉ http://www.jquery.com

Thư viện jQuery và jQuery UI 13

Page 14: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Thêm thư viện vào trang web của bạn

B2. Lựa chọn phiên bản đểdown. Có hai phiên bản

Production: Dành chongười chỉ muốn sử dụng thưviện để viết các ứng dụng(Bạn nên down phiên bảnnày)Development: Dành chongười muốn phát triển cácplug-in cho jQuery hoặcmuốn nghiên cứu sâu hơn vềjQuery

B2. Lựa chọn phiên bản đểdown. Có hai phiên bản

Production: Dành chongười chỉ muốn sử dụng thưviện để viết các ứng dụng(Bạn nên down phiên bảnnày)Development: Dành chongười muốn phát triển cácplug-in cho jQuery hoặcmuốn nghiên cứu sâu hơn vềjQuery

Thư viện jQuery và jQuery UI 14

Page 15: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Thêm thư viện vào trang web

B3. Down thư việnTrên Browser, vào File Save Page As…

Để down thư viện. Lưu file thư viện vào cùngthư mục với trang web

B4. Tham chiếu đến file thư viện (jquery-1.6.4.min.js )

B3. Down thư việnTrên Browser, vào File Save Page As…

Để down thư viện. Lưu file thư viện vào cùngthư mục với trang web

B4. Tham chiếu đến file thư viện (jquery-1.6.4.min.js )

Thư viện jQuery và jQuery UI 15

<script type="text/javascript" src="jquery-1.6.4.min.js" ></script>

Page 16: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

jQuery

jQuery thực hiện tìm (query) đến các element của trang webvà thực hiện các “hành động” lên chúngCú pháp:

$: Chỉ ra sử dụng thư viện jQueryselector: Chỉ ra các phần tử được chọnaction: Chỉ ra các hành động được thực hiện lên các phần tửđược chọn đó

$(selector).action()

jQuery thực hiện tìm (query) đến các element của trang webvà thực hiện các “hành động” lên chúngCú pháp:

$: Chỉ ra sử dụng thư viện jQueryselector: Chỉ ra các phần tử được chọnaction: Chỉ ra các hành động được thực hiện lên các phần tửđược chọn đó

Thư viện jQuery và jQuery UI 16

$("p").hide()$("div").show()

Page 17: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Lựa chọn các element

Lựa chọn element theo IDLựa chọn element theo lớpLựa chọn element theo loạiLựa chọn element theo hệ thống phân cấpLựa chọn element theo vị tríLựa chọn element theo attribute

Lựa chọn element theo IDLựa chọn element theo lớpLựa chọn element theo loạiLựa chọn element theo hệ thống phân cấpLựa chọn element theo vị tríLựa chọn element theo attribute

Thư viện jQuery và jQuery UI 17

Page 18: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Lựa chọn element theo ID

Cú pháp

Mã HTML

Truy cập đến element có id là linkID

Truy cập đến element <a> có id là linkID

$("#id_của_element")

< a href="#" id="linkID">Link</a>

Cú pháp

Mã HTML

Truy cập đến element có id là linkID

Truy cập đến element <a> có id là linkID

Thư viện jQuery và jQuery UI 18

getElementById("linkID") $("#linkID")

$("a#linkID")

Page 19: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Lựa chọn element theo lớp

Cú pháp

Mã HTML

Chọn tất cả các element có tên lớp là link

Chọn tất cả các element <a> có tên lớp là link

$(".tên_lớp")

< a class="link">Link</a>

Cú pháp

Mã HTML

Chọn tất cả các element có tên lớp là link

Chọn tất cả các element <a> có tên lớp là link

Thư viện jQuery và jQuery UI 19

$(".link")

$(“a.link")

Page 20: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Lựa chọn element theo loại

Cú pháp

Chọn tất cả các element div trên trang

$("tên_thẻ_HTML")

$("div")

Cú pháp

Chọn tất cả các element div trên trang

Thư viện jQuery và jQuery UI 20

$("div")

Page 21: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Lựa chọn element theo hệ phân cấp

Mã HTML

Chọn tất cả các element <a> nằm trong thẻ div

Chọn tất cả các element <a> nằm trong thẻ div divContent

<body><a href=“link1.html"></a><div>

<a href="link2.html"></a></div><div id="divContent>

<a href="link3.html"> Google </a><a href="link4.html"> w3schools </a>

</div></body

Mã HTML

Chọn tất cả các element <a> nằm trong thẻ div

Chọn tất cả các element <a> nằm trong thẻ div divContent

Thư viện jQuery và jQuery UI 21

<body><a href=“link1.html"></a><div>

<a href="link2.html"></a></div><div id="divContent>

<a href="link3.html"> Google </a><a href="link4.html"> w3schools </a>

</div></body

$("div a")

$(“#divContent a")

Page 22: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Lựa chọn element theo vị trí

Mã HTML

Chọn element <p> đầu tiên trong tài liệu

Chọn element <p> cuối cùng trong tài liệu

Chọn element <p> thứ hai trong tài liệu

Chọn các element <p> lẻ trong tài liệuPhần tử đầu tiên là 0

<body><p>Đầu tiên</p><p>Thứ hai</p><p>Thứ ba</p>

<body>

$("p:first")

Mã HTML

Chọn element <p> đầu tiên trong tài liệu

Chọn element <p> cuối cùng trong tài liệu

Chọn element <p> thứ hai trong tài liệu

Chọn các element <p> lẻ trong tài liệuPhần tử đầu tiên là 0

Thư viện jQuery và jQuery UI 22

$("p:first")

$("p:last")

$("p")[1]

$("p:odd")

Page 23: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Lựa chọn element theo attribute

Chọn tất cả các element có attribute href

Chọn tất cả các element <a> có attribute href

Chọn tất cả các element với attribute href có giá trị là “#”

Một số ký tự đặc biệt

$("[href]")

$("a[href]")

$("a[href = '#']")

Chọn tất cả các element có attribute href

Chọn tất cả các element <a> có attribute href

Chọn tất cả các element với attribute href có giá trị là “#”

Một số ký tự đặc biệt

Thư viện jQuery và jQuery UI 23

$("a[href = '#']")

Cú pháp Giải thích

attributeName*=value chọn các element mà giá trị của attribute chứa value

attributeName~=value chọn các element mà giá trị attribute bằng value

attributeName!=value chọn các element mà giá trị attribute không bằng valuehoặc không có attribute đó

attributeName$=value chọn các element mà giá trị attribute kết thúc bằng value

attributeName^=value chọn các element mà giá trị attriubte bắt đầu bằng value

Page 24: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Thực hiện hành động

Sau khi tìm được các element, điều quan trọng là thực hiệncác hành động lên các element đójQuery cung cấp các phương thức để thực hiện các hànhđộng

Các phương thức xử lý sự kiệnPhương thức làm việc với cssCác phương thức để thực hiện duyệt qua các elementCác phương thức để tạo các hiệu ứng

Sau khi tìm được các element, điều quan trọng là thực hiệncác hành động lên các element đójQuery cung cấp các phương thức để thực hiện các hànhđộng

Các phương thức xử lý sự kiệnPhương thức làm việc với cssCác phương thức để thực hiện duyệt qua các elementCác phương thức để tạo các hiệu ứng

Thư viện jQuery và jQuery UI 24

Page 25: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Xử lý sự kiện cho các element

jQuery hỗ trợ hồi đáp lại các sự kiện như nhấn chuột, submitform, gõ phím…Sử dụng xử lý sự kiện với jQuery tối ưu hơn so với cách thôngthường bởi nó ứng xử giống nhau đối với các trình duyệtCó hai cách khác nhau để xử lý sự kiện

Sử dụng hàm bind() để gán xử lý sự kiện cho elementGọi trực tiếp xử lý sự kiện từ element

jQuery hỗ trợ hồi đáp lại các sự kiện như nhấn chuột, submitform, gõ phím…Sử dụng xử lý sự kiện với jQuery tối ưu hơn so với cách thôngthường bởi nó ứng xử giống nhau đối với các trình duyệtCó hai cách khác nhau để xử lý sự kiện

Sử dụng hàm bind() để gán xử lý sự kiện cho elementGọi trực tiếp xử lý sự kiện từ element

Thư viện jQuery và jQuery UI 25

Truy cập trang web http://api.jquery.com/category/events/ đểhiểu thêm về xử lý sự kiện trên jQuery

Page 26: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Sử dụng hàm bind()Cú pháp

event: tên sự kiệndata: dữ liệu truyền vàohandler: xử lý sự kiện

Ví dụ

$(selector).bind(event, data, handler)

<html ><body><a href="#" id="link">Nhấn vào đây</a><script type="text/javascript" src="jquery-1.6.4.min.js" ></script><script type="text/javascript">

$("#link").bind("click", function() {alert("Bạn vừa nhấn vào link");

});</script></body></html>

Cú pháp

event: tên sự kiệndata: dữ liệu truyền vàohandler: xử lý sự kiện

Ví dụ

Thư viện jQuery và jQuery UI 26

<html ><body><a href="#" id="link">Nhấn vào đây</a><script type="text/javascript" src="jquery-1.6.4.min.js" ></script><script type="text/javascript">

$("#link").bind("click", function() {alert("Bạn vừa nhấn vào link");

});</script></body></html>

Page 27: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Sử dụng hàm bind()

jQuery hỗ trợ những sự kiện sau với hàm bind()

beforeunload focusin mousedown resize

blur focusout mouseenter scroll

change hover mouseleave selectchange hover mouseleave select

click keydown mousemove submit

dbclick keypress mouseout toggle

error keyup mouseover unload

focus load mouseup

Thư viện jQuery và jQuery UI 27

Page 28: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Truy cập trực tiếp đến xử lý sự kiện

Bạn có thể truy cập trực tiếp đến xử lý sự kiện

<html><body><a href="#" id="link">Nhấn vào đây</a><script type="text/javascript" src="jquery-1.6.4.min.js" ></script><script type="text/javascript">

$("#link").click(function() {alert("Bạn vừa nhấn vào link");

});</script></body></html>

Thư viện jQuery và jQuery UI 28

<html><body><a href="#" id="link">Nhấn vào đây</a><script type="text/javascript" src="jquery-1.6.4.min.js" ></script><script type="text/javascript">

$("#link").click(function() {alert("Bạn vừa nhấn vào link");

});</script></body></html>

Page 29: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Làm việc với CSS

jQuery hỗ trợ phương thức css() để thay đổi các thuộctính css cho các element HTMLCú pháp

Ví dụ$(selector).css("tên_thuộc_tính", "giá_trị thuộc_tính")

<html><body><p>Hi there!!!</p><script type="text/javascript" src="jquery-1.6.4.min.js" ></script><script type="text/javascript">

$("p").click(function() {$(this).css("color", "red");

});</script></body></html>

Thư viện jQuery và jQuery UI 29

<html><body><p>Hi there!!!</p><script type="text/javascript" src="jquery-1.6.4.min.js" ></script><script type="text/javascript">

$("p").click(function() {$(this).css("color", "red");

});</script></body></html> Xem Hanh dong\CSS

Page 30: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Duyệt qua các element

jQuery cung cấp hàm .each() để duyệt qua một nhóm cácelement được chọnCú pháp

$(selector).each(function({//Thực hiện lệnh

}));

Thư viện jQuery và jQuery UI 30

$(selector).each(function({//Thực hiện lệnh

}));

Truy cập trang web http://api.jquery.com/category/traversing/để hiểu thêm về xử lý sự kiện trên jQuery

Page 31: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Demo duyệt qua các element

Bài toán<table>

<th>Tên SV</th><th>Điểm</th><tr>

<td>Nguyễn Văn An</td><td class="diem">10</td>

</tr><tr>

<td>Nguyễn Mạnh Hưng</td><td class="diem">4</td>

</tr><tr>

<td>Nguyễn Thị Mai</td><td class="diem">5</td>

</tr><tr>

<td>Nguyễn Thị Nghọc</td><td class="diem">4</td>

</tr></table>

Thư viện jQuery và jQuery UI 31

<table><th>Tên SV</th><th>Điểm</th><tr>

<td>Nguyễn Văn An</td><td class="diem">10</td>

</tr><tr>

<td>Nguyễn Mạnh Hưng</td><td class="diem">4</td>

</tr><tr>

<td>Nguyễn Thị Mai</td><td class="diem">5</td>

</tr><tr>

<td>Nguyễn Thị Nghọc</td><td class="diem">4</td>

</tr></table>

Những SV đỗđược in đâm

Page 32: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Demo duyệt qua các element

<script type="text/javascript">$(".diem").each(function() {

if ($(this).text() >= 5) {$(this).parent().css('font-weight', 'bold');

}});

</script>

Thư viện jQuery và jQuery UI 32

<script type="text/javascript">$(".diem").each(function() {

if ($(this).text() >= 5) {$(this).parent().css('font-weight', 'bold');

}});

</script>

Page 33: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Các hiệu ứng

jQuery cung cấp nhiều hiệu ứngHiệu ứng ẩn, hiện và thay đổi trạng thái (Hide, Show và Toggle)Hiệu ứng làm mờ (Fade In và Fade Out)Hiệu ứng trượt (Sliding)

Thư viện jQuery và jQuery UI 33

Truy cập trang web http://api.jquery.com/category/effects/ đểbiết thêm về các hiệu ứng mà jQuery cung cấp

Page 34: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Hiệu ứng ẩn, hiện và thay đổi trạng thái

jQuery cung cấp các phương thức để thực hiện hiệu ứng nàyshow(): Hiển thị elementhide(): Ẩn elementtoggle(): Thay đổi trạng thái của element (Đang ẩn thì hiện,đang hiện thì sẽ ẩn)

Thư viện jQuery và jQuery UI 34

Page 35: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Demo ẩn đoạn văn bản

Bài toán

Yêu cầu: Click vào Đoạn văn nào thì đoạn văn đó biến mất Dùng phương thức hide()

<p class="para">Đoạn văn 1</p><p class="para">Đoạn văn 2</p><p class="para">Đoạn văn 3</p><p class="para">Đoạn văn 4</p>

Bài toán

Yêu cầu: Click vào Đoạn văn nào thì đoạn văn đó biến mất Dùng phương thức hide()

Thư viện jQuery và jQuery UI 35

Page 36: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Demo ẩn đoạn văn bản

Mã jQuery

Để tạo hiệu ứng ẩn từ từ, có thể thêm tham số thời gianvào phương thức hide (tính theo đơn vị milliseconds)

$(".para").each(function() {$(this).click(function() {

$(this).hide();});

});

Mã jQuery

Để tạo hiệu ứng ẩn từ từ, có thể thêm tham số thời gianvào phương thức hide (tính theo đơn vị milliseconds)

Thư viện jQuery và jQuery UI 36

$(".para").each(function() {$(this).click(function() {

$(this).hide(500);});

});

Cũng có thể thêm tham số thời gian vào phương thức show vàtoggle

Xem Hieu ung/hide

Page 37: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Hiệu ứng mờ (Fade In và Fade Out)

Fade In: Rõ dần cho đến khi xuất hiệnFade Out: Mờ dần cho đến khi biến mất

$(".para").each(function() {$(this).click(function() {

$(this). fadeOut();});

});

Thư viện jQuery và jQuery UI 37

$(".para").each(function() {$(this).click(function() {

$(this). fadeOut();});

});

$(".para").each(function() {$(this).click(function() {

$(this). fadeOut(1000);});

});Truy cập trang web http://api.jquery.com/category/effects/fading/ đểhiểu thêm về hiệu ứng fade

Xem Hieu ung/fade

Page 38: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Hiệu ứng trượt (Sliding)

slideUp(): Trượt lên trên và biến mấtslideDown(): Trượt xuống dưới và xuất hiện

$(".para").each(function() {$(this).click(function() {

$(this).slideUp();});

});

Thư viện jQuery và jQuery UI 38

$(".para").each(function() {$(this).click(function() {

$(this).slideUp();});

});

$(".para").each(function() {$(this).click(function() {

$(this).slideUp(1000);});

});Xem Hieu ung/slide

Page 39: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

THƯ VIỆNJQuery UI

Lập trình hướng đối tượng và mô hình DOM 39

THƯ VIỆNJQuery UI

Page 40: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

jQuery UI

Là một thư viện mở rộng cung cấp các tính năng cho giaodiện như hộp chọn ngày, kéo thả, hay menu…Thêm thư viện vào trang web

Truy cập trang trang http://jqueryui.com/ để down thư viện vềsử dụng

Có thể lựa chọn các thành phần cần thiết để downHoặc down bản đầy đủ

Giải nén thư viện và để cùng thư mục với trang webLưu ý: để sử dụng jQuery UI, bạn phải thêm thư viện jQueryvào trang web của bạn

Là một thư viện mở rộng cung cấp các tính năng cho giaodiện như hộp chọn ngày, kéo thả, hay menu…Thêm thư viện vào trang web

Truy cập trang trang http://jqueryui.com/ để down thư viện vềsử dụng

Có thể lựa chọn các thành phần cần thiết để downHoặc down bản đầy đủ

Giải nén thư viện và để cùng thư mục với trang webLưu ý: để sử dụng jQuery UI, bạn phải thêm thư viện jQueryvào trang web của bạn

Thư viện jQuery và jQuery UI 40

Truy cập trang web http://jqueryui.com/demos/ để xem các demovề các tính năng của jQuery

Page 41: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Tính năng kéo thả (Drag and Drop)

Phương thức draggable() để cho phép element được kéoPhương thức droppable() để xử lý sự kiện cho khi mộtelement được thả vào element nàyCú pháp

$(selector).draggable()

Thư viện jQuery và jQuery UI 41

$(selector).droppable()({drop: function(event,ui){//Thực hiện lệnh ở đây

}});

Truy cập trang web http://jqueryui.com/demos/droppable/ để hiểuthêm về tính năng Drag and Drop

Page 42: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Demo Drag and Drop<style type="text/css">#dragDiv {

border: solid 1px black;padding: 3px;

width: 100px;}#dropDiv {

height: 200px;width: 200px;border: solid 1px black;background-color: #abacab;margin: 50px;

}</style></head><body><div id="dragDiv">Hãy kéo tôi!</div><div id="dropDiv">Thả ở đây!</div></body>

Thư viện jQuery và jQuery UI 42

<style type="text/css">#dragDiv {

border: solid 1px black;padding: 3px;

width: 100px;}#dropDiv {

height: 200px;width: 200px;border: solid 1px black;background-color: #abacab;margin: 50px;

}</style></head><body><div id="dragDiv">Hãy kéo tôi!</div><div id="dropDiv">Thả ở đây!</div></body> Xem Demo/jQuery UI/Drag and Drop

Page 43: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Demo Drag and Drop

<script type="text/javascript" src="jquery-1.6.4.min.js"></script><script type="text/javascript" src=“js\jquery-ui-1.8.16.custom.min.js"></script>

<script type="text/javascript">$(document).ready(function() {

$('#dragDiv').draggable();

$('#dropDiv').droppable({drop: function(event, ui) {

alert("Hộp văn bản bạn vừa drop: " + ui.draggable.text());}

});

});</script>

Thư viện jQuery và jQuery UI 43

<script type="text/javascript" src="jquery-1.6.4.min.js"></script><script type="text/javascript" src=“js\jquery-ui-1.8.16.custom.min.js"></script>

<script type="text/javascript">$(document).ready(function() {

$('#dragDiv').draggable();

$('#dropDiv').droppable({drop: function(event, ui) {

alert("Hộp văn bản bạn vừa drop: " + ui.draggable.text());}

});

});</script>

Page 44: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Demo Drag and Drop

Thư viện jQuery và jQuery UI 44

Page 45: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Tạo menu chồng nhau

jQuery UI hỗ trợ phương thức accordion() để tạo menuchồng nhau

Thư viện jQuery và jQuery UI 45

Page 46: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Cách tạo menu chồng nhau

Menu phải chứa các cặp header và div tương ứng

Gọi phương thức accordion() để tạo menu

<div id="accordion"><h3><a href="#">First header</a></h3><div>First content</div><h3><a href="#">Second header</a></h3><div>Second content</div>

</div>

Menu phải chứa các cặp header và div tương ứng

Gọi phương thức accordion() để tạo menu

Thư viện jQuery và jQuery UI 46

<div id="accordion"><h3><a href="#">First header</a></h3><div>First content</div><h3><a href="#">Second header</a></h3><div>Second content</div>

</div>

$(“#accordion“).accordion()

Xem Demo/jQuery UI/accordion

Page 47: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Demo tạo menu chồng nhau

<style type="text/css">#menu {

width: 250px;height: 250px;

border: solid 2px black;padding: 3px;

}.menuHead{

border: solid 1px black;background-color: #abacab;

}.menuDiv {

border-bottom: dotted 1px black;}</style>

<div id="menu"><h3 class="menuHead">Menu 1</h3><div class="menuDiv" id="menu1">

<p>Văn bản cho menu 1</p></div><h3 class="menuHead">Menu 2</h3><div class="menuDiv" id="men2">

<p>Văn bản cho menu 2</p></div><h3 class="menuHead">Menu 3</h3><div class="menuDiv" id="menu3"><p>Văn bản cho menu 3</p></div>

</div>

Thư viện jQuery và jQuery UI 47

<style type="text/css">#menu {

width: 250px;height: 250px;

border: solid 2px black;padding: 3px;

}.menuHead{

border: solid 1px black;background-color: #abacab;

}.menuDiv {

border-bottom: dotted 1px black;}</style>

<div id="menu"><h3 class="menuHead">Menu 1</h3><div class="menuDiv" id="menu1">

<p>Văn bản cho menu 1</p></div><h3 class="menuHead">Menu 2</h3><div class="menuDiv" id="men2">

<p>Văn bản cho menu 2</p></div><h3 class="menuHead">Menu 3</h3><div class="menuDiv" id="menu3"><p>Văn bản cho menu 3</p></div>

</div>

$('#menu').accordion();

Page 48: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Menu chồng nhau

Thư viện jQuery và jQuery UI 48

Page 49: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

SỬ DỤNGĐOẠN MÃ CÓ SẴN

Lập trình hướng đối tượng và mô hình DOM 49

SỬ DỤNGĐOẠN MÃ CÓ SẴN

Page 50: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Sử dụng các đoạn mã có sẵn

Cộng đồng phát triển JavaScript khá lớn. Có rất nhiều đoạncode mẫu có thể sử dụng luôn, hoặc tùy chỉnh cho phù hợpvới mục đích sử dụngCác đoạn mã mẫu thường là

Tạo menu các loạiTạo hiệu ứng cho ảnhTạo hiệu ứng cho văn bản…

Một số nguồn tham khảo codehttp://javascriptsource.com/http://www.dynamicdrive.com/http://www.javascriptkit.com/cutpastejava.shtml

Cộng đồng phát triển JavaScript khá lớn. Có rất nhiều đoạncode mẫu có thể sử dụng luôn, hoặc tùy chỉnh cho phù hợpvới mục đích sử dụngCác đoạn mã mẫu thường là

Tạo menu các loạiTạo hiệu ứng cho ảnhTạo hiệu ứng cho văn bản…

Một số nguồn tham khảo codehttp://javascriptsource.com/http://www.dynamicdrive.com/http://www.javascriptkit.com/cutpastejava.shtml

Thư viện jQuery và jQuery UI 50

Page 51: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Demo sử đoạn mãcó sẵn trên trang Dynamic Drive

Thư viện jQuery và jQuery UI 51

Thư viện cácđoạn mã mẫu

Page 52: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

Thư viện là kho lưu trữ mã cho các chức năng thôngdụng. Bạn cũng có thể tự tạo thư viện cho riêng mìnhhoặc để chia sẻCó rất nhiều thư viện cho javascript. Mỗi thư viện có mộtđiểm mạnh riêng. jQuery là một thư viện thông dụngvà dễ sử dụngĐiểm nổi bật của jQuery là tìm (query) các element vàthực hiện hành động lên các element đójQuery cung cấp các cách khác nhau để tìm elemet nhưtìm bằng id, lớp, loại, hệ thống phân cấp, vị trí,attribute

Tổng kết bài học

Thư viện là kho lưu trữ mã cho các chức năng thôngdụng. Bạn cũng có thể tự tạo thư viện cho riêng mìnhhoặc để chia sẻCó rất nhiều thư viện cho javascript. Mỗi thư viện có mộtđiểm mạnh riêng. jQuery là một thư viện thông dụngvà dễ sử dụngĐiểm nổi bật của jQuery là tìm (query) các element vàthực hiện hành động lên các element đójQuery cung cấp các cách khác nhau để tìm elemet nhưtìm bằng id, lớp, loại, hệ thống phân cấp, vị trí,attribute

Thư viện jQuery và jQuery UI 52

Page 53: Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT

jQuery cung cấp các hàm để thực hiện các hành độngnhư hàm xử lý sự kiện, làm việc với css, duyệt quacác element và các hàm tạo các hiệu ứngjQuery UI là thư viện mở rộng, chứa các tính năng hỗtrợ cho giao diện như menu, kéo thả…Ngoài ra lập trình viên có thể sử dụng hoặc tùy chỉnhcác đoạn mã có sẵn để làm các chức năng mong muốn

Tổng kết bài học

jQuery cung cấp các hàm để thực hiện các hành độngnhư hàm xử lý sự kiện, làm việc với css, duyệt quacác element và các hàm tạo các hiệu ứngjQuery UI là thư viện mở rộng, chứa các tính năng hỗtrợ cho giao diện như menu, kéo thả…Ngoài ra lập trình viên có thể sử dụng hoặc tùy chỉnhcác đoạn mã có sẵn để làm các chức năng mong muốn

Thư viện jQuery và jQuery UI 53