SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Bài 7:
Thư viện jQuery và thư viện jQuery UI
Hệ thống bài cũ
Viết mã tạo các hiệu ứng
Hiệu ứng Image Rollover
Hiệu ứng SlideShow
Thao tác với các điều khiển
SelectBox
CheckBox
RadioButton
Form
Kiểm tra tính hợp lệ cho Form
CSS trong JavaScript
Viết mã tạo các hiệu ứng
Hiệu ứng Image Rollover
Hiệu ứng SlideShow
Thao tác với các điều khiển
SelectBox
CheckBox
RadioButton
Form
Kiểm tra tính hợp lệ cho Form
CSS trong JavaScript
Thư viện jQuery và jQuery UI 2
Mục tiêu bài học
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
Thư viện jQuery và jQuery UI 3
THƯ VIỆN
JAVASCRIPT
Lập trình hướng đối tượng và mô hình DOM 4
THƯ VIỆN
JAVASCRIPT
Thư viện
Vấ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ực
hiện lặp lại nhiều chức năng thông dụng
Giải pháp
Tạo một thư viện các đoạn mã thực hiện các chức năng thông
dụng để chia sẻ chung
Lậ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ện
Cá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áp
Lập trình trở nên dễ dàng hơn
Tiết kiệm thời gian
Thư viện ngày càng được tối ưu
Vấ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ực
hiện lặp lại nhiều chức năng thông dụng
Giải pháp
Tạo một thư viện các đoạn mã thực hiện các chức năng thông
dụng để chia sẻ chung
Lậ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ện
Cá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áp
Lập trình trở nên dễ dàng hơn
Tiết kiệm thời gian
Thư viện ngày càng được tối ưu
Thư viện jQuery và jQuery UI 5
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 .js
Khi cần sử dụng thì tham chiếu đến file này
Thư viện jQuery và jQuery UI 6
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)
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 trang
web 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ạy
tố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_framewo
rks)
Lập trình mất nhiều thời gian và công sức để làm cho trang
web 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ạy
tố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_framewo
rks)
Thư viện jQuery và jQuery UI 8
THƯ VIỆN
JQuery
Lập trình hướng đối tượng và mô hình DOM 9
THƯ VIỆN
JQuery
jQuery
jQuery là một thư viện JavaScript được ưa chuộng và dễ sử
dụng
Thư viện jQuery bao gồm 1 file JavaScript (Click vào đây để
xem file)
Thư viện jQuery và jQuery UI 10
Làm quen jQuery qua ví dụ đầu tiên
Thư viện jQuery và jQuery UI 11
Nhấn vào đoạn
văn bản thì đoạn
văn bản biến mất
Xem Vi du jQuery dau tien
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 đến
thư 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
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
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 cho
ngườ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ản
này)
Development: Dành cho
người muốn phát triển các
plug-in cho jQuery hoặc
muố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 cho
ngườ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ản
này)
Development: Dành cho
người muốn phát triển các
plug-in cho jQuery hoặc
muốn nghiên cứu sâu hơn về
jQuery
Thư viện jQuery và jQuery UI 14
Thêm thư viện vào trang web
B3. Down thư viện
Trên Browser, vào File  Save Page As…
Để down thư viện. Lưu file thư viện vào cùng
thư 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ện
Trên Browser, vào File  Save Page As…
Để down thư viện. Lưu file thư viện vào cùng
thư 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>
jQuery
jQuery thực hiện tìm (query) đến các element của trang web
và thực hiện các “hành động” lên chúng
Cú pháp:
$: Chỉ ra sử dụng thư viện jQuery
selector: Chỉ ra các phần tử được chọn
action: 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 web
và thực hiện các “hành động” lên chúng
Cú pháp:
$: Chỉ ra sử dụng thư viện jQuery
selector: Chỉ ra các phần tử được chọn
action: 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()
Lựa chọn các element
Lựa chọn element theo ID
Lựa chọn element theo lớp
Lựa chọn element theo loại
Lựa chọn element theo hệ thống phân cấp
Lựa chọn element theo vị trí
Lựa chọn element theo attribute
Lựa chọn element theo ID
Lựa chọn element theo lớp
Lựa chọn element theo loại
Lựa chọn element theo hệ thống phân cấp
Lựa chọn element theo vị trí
Lựa chọn element theo attribute
Thư viện jQuery và jQuery UI 17
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")
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")
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")
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")
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ệu
Phầ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ệu
Phần tử đầu tiên là 0
Thư viện jQuery và jQuery UI 22
$("p:first")
$("p:last")
$("p")[1]
$("p:odd")
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 value
hoặ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
Thực hiện hành động
Sau khi tìm được các element, điều quan trọng là thực hiện
cá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ện
Phương thức làm việc với css
Các phương thức để thực hiện duyệt qua các element
Cá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ện
cá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ện
Phương thức làm việc với css
Các phương thức để thực hiện duyệt qua các element
Các phương thức để tạo các hiệu ứng
Thư viện jQuery và jQuery UI 24
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, submit
form, 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ông
thường bởi nó ứng xử giống nhau đối với các trình duyệt
Có 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 element
Gọ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, submit
form, 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ông
thường bởi nó ứng xử giống nhau đối với các trình duyệt
Có 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 element
Gọ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
Sử dụng hàm bind()
Cú pháp
event: tên sự kiện
data: dữ liệu truyền vào
handler: 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ện
data: dữ liệu truyền vào
handler: 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>
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
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>
Làm việc với CSS
jQuery hỗ trợ phương thức css() để thay đổi các thuộc
tính css cho các element HTML
Cú 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 dongCSS
Duyệt qua các element
jQuery cung cấp hàm .each() để duyệt qua một nhóm các
element được chọn
Cú 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
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
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>
Các hiệu ứng
jQuery cung cấp nhiều hiệu ứng
Hiệ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
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ày
show(): Hiển thị element
hide(): Ẩn element
toggle(): 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
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
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 gian
và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 gian
và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
Hiệu ứng mờ (Fade In và Fade Out)
Fade In: Rõ dần cho đến khi xuất hiện
Fade 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
Hiệu ứng trượt (Sliding)
slideUp(): Trượt lên trên và biến mất
slideDown(): 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
THƯ VIỆN
JQuery UI
Lập trình hướng đối tượng và mô hình DOM 39
THƯ VIỆN
JQuery UI
jQuery UI
Là một thư viện mở rộng cung cấp các tính năng cho giao
diệ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 để down
Hoặc down bản đầy đủ
Giải nén thư viện và để cùng thư mục với trang web
Lưu ý: để sử dụng jQuery UI, bạn phải thêm thư viện jQuery
và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 giao
diệ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 để down
Hoặc down bản đầy đủ
Giải nén thư viện và để cùng thư mục với trang web
Lưu ý: để sử dụng jQuery UI, bạn phải thêm thư viện jQuery
và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 demo
về các tính năng của jQuery
Tính năng kéo thả (Drag and Drop)
Phương thức draggable() để cho phép element được kéo
Phương thức droppable() để xử lý sự kiện cho khi một
element được thả vào element này
Cú 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ểu
thêm về tính năng Drag and Drop
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
Demo Drag and Drop
<script type="text/javascript" src="jquery-1.6.4.min.js"></script>
<script type="text/javascript" src=“jsjquery-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=“jsjquery-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>
Demo Drag and Drop
Thư viện jQuery và jQuery UI 44
Tạo menu chồng nhau
jQuery UI hỗ trợ phương thức accordion() để tạo menu
chồng nhau
Thư viện jQuery và jQuery UI 45
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
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();
Menu chồng nhau
Thư viện jQuery và jQuery UI 48
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
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ạn
code mẫu có thể sử dụng luôn, hoặc tùy chỉnh cho phù hợp
với mục đích sử dụng
Các đoạn mã mẫu thường là
Tạo menu các loại
Tạo hiệu ứng cho ảnh
Tạo hiệu ứng cho văn bản
…
Một số nguồn tham khảo code
http://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ạn
code mẫu có thể sử dụng luôn, hoặc tùy chỉnh cho phù hợp
với mục đích sử dụng
Các đoạn mã mẫu thường là
Tạo menu các loại
Tạo hiệu ứng cho ảnh
Tạo hiệu ứng cho văn bản
…
Một số nguồn tham khảo code
http://javascriptsource.com/
http://www.dynamicdrive.com/
http://www.javascriptkit.com/cutpastejava.shtml
Thư viện jQuery và jQuery UI 50
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
Thư viện là kho lưu trữ mã cho các chức năng thông
dụng. Bạn cũng có thể tự tạo thư viện cho riêng mình
hoặ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ụng
và 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ông
dụng. Bạn cũng có thể tự tạo thư viện cho riêng mình
hoặ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ụng
và 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
jQuery cung cấp các hàm để thực hiện các hành động
như hàm xử lý sự kiện, làm việc với css, duyệt qua
các element và các hàm tạo các hiệu ứng
jQuery 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ỉnh
cá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 động
như hàm xử lý sự kiện, làm việc với css, duyệt qua
các element và các hàm tạo các hiệu ứng
jQuery 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ỉnh
cá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

Contenu connexe

Tendances

Tu hoc javascript
Tu hoc javascriptTu hoc javascript
Tu hoc javascriptzingoncmu2
 
BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT
BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPTBÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT
BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPTMasterCode.vn
 
Giao trinh java_script (1)
Giao trinh java_script (1)Giao trinh java_script (1)
Giao trinh java_script (1)duynamit
 
Bai tap thuc hanh javascript
Bai tap thuc hanh javascriptBai tap thuc hanh javascript
Bai tap thuc hanh javascriptnkquank7d
 
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java scripthieusy
 
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5MasterCode.vn
 
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPTBÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPTMasterCode.vn
 
Bai Tap Thuc Hanh Javascript
Bai Tap Thuc Hanh JavascriptBai Tap Thuc Hanh Javascript
Bai Tap Thuc Hanh JavascriptSamQuiDaiBo
 
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất NghệMvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất NghệMasterCode.vn
 
The First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress MeetupThe First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress MeetupKhanhPham
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
 

Tendances (19)

Tim+hieu+jquery
Tim+hieu+jqueryTim+hieu+jquery
Tim+hieu+jquery
 
Tu hoc javascript
Tu hoc javascriptTu hoc javascript
Tu hoc javascript
 
Javascript and dom_html
Javascript and dom_htmlJavascript and dom_html
Javascript and dom_html
 
Kiem tra javascript
Kiem tra javascriptKiem tra javascript
Kiem tra javascript
 
BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT
BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPTBÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT
BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT
 
Bài tập javascript
Bài tập javascriptBài tập javascript
Bài tập javascript
 
Giao trinh java_script (1)
Giao trinh java_script (1)Giao trinh java_script (1)
Giao trinh java_script (1)
 
Bai tap thuc hanh javascript
Bai tap thuc hanh javascriptBai tap thuc hanh javascript
Bai tap thuc hanh javascript
 
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java script
 
Joo
JooJoo
Joo
 
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
 
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPTBÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
BÀI 1 Những khái niệm đầu tiên về HTML5 - Giáo trình FPT
 
Ajax
AjaxAjax
Ajax
 
Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3Tài liệu HTML5-CSS3
Tài liệu HTML5-CSS3
 
Jquery
JqueryJquery
Jquery
 
Bai Tap Thuc Hanh Javascript
Bai Tap Thuc Hanh JavascriptBai Tap Thuc Hanh Javascript
Bai Tap Thuc Hanh Javascript
 
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất NghệMvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
 
The First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress MeetupThe First 2015 Saigon WordPress Meetup
The First 2015 Saigon WordPress Meetup
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
 

En vedette

BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT
BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPTBÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT
BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPTMasterCode.vn
 
BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...
BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...
BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...MasterCode.vn
 
Bài 3 Tạo style cho font và văn bản - Giáo trình FPT
Bài 3 Tạo style cho font và văn bản - Giáo trình FPTBài 3 Tạo style cho font và văn bản - Giáo trình FPT
Bài 3 Tạo style cho font và văn bản - Giáo trình FPTMasterCode.vn
 
BÀI 5 Làm việc với CSS3 - Giáo trình FPT
BÀI 5 Làm việc với CSS3 - Giáo trình FPTBÀI 5 Làm việc với CSS3 - Giáo trình FPT
BÀI 5 Làm việc với CSS3 - Giáo trình FPTMasterCode.vn
 
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPTBÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPTMasterCode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTBài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTMasterCode.vn
 
Bài 2: Biến và toán tử - Giáo trình FPT
Bài 2: Biến và toán tử - Giáo trình FPTBài 2: Biến và toán tử - Giáo trình FPT
Bài 2: Biến và toán tử - Giáo trình FPTMasterCode.vn
 
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...MasterCode.vn
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...MasterCode.vn
 
Bài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPTBài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPTMasterCode.vn
 
Bài 5 Bố cục trang cơ bản - Giáo trình FPT
Bài 5 Bố cục trang cơ bản - Giáo trình FPTBài 5 Bố cục trang cơ bản - Giáo trình FPT
Bài 5 Bố cục trang cơ bản - Giáo trình FPTMasterCode.vn
 
Bài 4 Định vị trí box - Giáo trình FPT
Bài 4 Định vị trí box - Giáo trình FPTBài 4 Định vị trí box - Giáo trình FPT
Bài 4 Định vị trí box - Giáo trình FPTMasterCode.vn
 
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPTBài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPTMasterCode.vn
 
Bài 10: Giới thiệu về Server Core - Giáo trình FPT
Bài 10: Giới thiệu về Server Core - Giáo trình FPTBài 10: Giới thiệu về Server Core - Giáo trình FPT
Bài 10: Giới thiệu về Server Core - Giáo trình FPTMasterCode.vn
 
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPT
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPTBài 2 Cơ chế làm việc của CSS - Giáo trình FPT
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPTMasterCode.vn
 
Bài 2 Cài Đặt Joomla
Bài 2 Cài Đặt JoomlaBài 2 Cài Đặt Joomla
Bài 2 Cài Đặt JoomlaMasterCode.vn
 
Bài 6 Thiết kế các thành phần giao diện - Giáo trình FPT
Bài 6 Thiết kế các thành phần giao diện - Giáo trình FPTBài 6 Thiết kế các thành phần giao diện - Giáo trình FPT
Bài 6 Thiết kế các thành phần giao diện - Giáo trình FPTMasterCode.vn
 

En vedette (20)

BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT
BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPTBÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT
BÀI 6 Làm việc với thành phần mở rộng của CSS3 - Giáo trình FPT
 
BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...
BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...
BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...
 
Bài 3 Tạo style cho font và văn bản - Giáo trình FPT
Bài 3 Tạo style cho font và văn bản - Giáo trình FPTBài 3 Tạo style cho font và văn bản - Giáo trình FPT
Bài 3 Tạo style cho font và văn bản - Giáo trình FPT
 
BÀI 5 Làm việc với CSS3 - Giáo trình FPT
BÀI 5 Làm việc với CSS3 - Giáo trình FPTBÀI 5 Làm việc với CSS3 - Giáo trình FPT
BÀI 5 Làm việc với CSS3 - Giáo trình FPT
 
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPTBÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTBài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
 
Bài 2: Biến và toán tử - Giáo trình FPT
Bài 2: Biến và toán tử - Giáo trình FPTBài 2: Biến và toán tử - Giáo trình FPT
Bài 2: Biến và toán tử - Giáo trình FPT
 
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
Bài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPTBài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPT
 
Bài 5 Bố cục trang cơ bản - Giáo trình FPT
Bài 5 Bố cục trang cơ bản - Giáo trình FPTBài 5 Bố cục trang cơ bản - Giáo trình FPT
Bài 5 Bố cục trang cơ bản - Giáo trình FPT
 
J query khtn
J query khtnJ query khtn
J query khtn
 
Bài 4 Định vị trí box - Giáo trình FPT
Bài 4 Định vị trí box - Giáo trình FPTBài 4 Định vị trí box - Giáo trình FPT
Bài 4 Định vị trí box - Giáo trình FPT
 
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPTBài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
 
Bài 10: Giới thiệu về Server Core - Giáo trình FPT
Bài 10: Giới thiệu về Server Core - Giáo trình FPTBài 10: Giới thiệu về Server Core - Giáo trình FPT
Bài 10: Giới thiệu về Server Core - Giáo trình FPT
 
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPT
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPTBài 2 Cơ chế làm việc của CSS - Giáo trình FPT
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPT
 
Bài 2 Cài Đặt Joomla
Bài 2 Cài Đặt JoomlaBài 2 Cài Đặt Joomla
Bài 2 Cài Đặt Joomla
 
Bài 6 Thiết kế các thành phần giao diện - Giáo trình FPT
Bài 6 Thiết kế các thành phần giao diện - Giáo trình FPTBài 6 Thiết kế các thành phần giao diện - Giáo trình FPT
Bài 6 Thiết kế các thành phần giao diện - Giáo trình FPT
 

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

Bai4 basic jsp_4474
Bai4 basic jsp_4474Bai4 basic jsp_4474
Bai4 basic jsp_4474Ham Chơi
 
Thiết kế giao diện với Liquid
Thiết kế giao diện với LiquidThiết kế giao diện với Liquid
Thiết kế giao diện với LiquidTien Nguyen
 
Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952Ham Chơi
 
Javascript tong-hop a-z
Javascript tong-hop a-zJavascript tong-hop a-z
Javascript tong-hop a-zManhh Nguyễn
 
Web1012 slide 1
Web1012   slide 1Web1012   slide 1
Web1012 slide 1Cà Rốt
 
Php day 2011 - Nukeviet
Php day 2011 -  NukevietPhp day 2011 -  Nukeviet
Php day 2011 - NukevietQuang Anh Le
 
Tuan5 dreamweaver 0001
Tuan5 dreamweaver 0001Tuan5 dreamweaver 0001
Tuan5 dreamweaver 0001Chu Kien
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việcmanhvokiem
 
Chủ đề 9 wordpress - vũ mạnh cường
Chủ đề 9  wordpress - vũ mạnh cườngChủ đề 9  wordpress - vũ mạnh cường
Chủ đề 9 wordpress - vũ mạnh cườngVũ Mạnh Cường
 
Bao cao wesite bán giày.docx
Bao cao wesite bán giày.docxBao cao wesite bán giày.docx
Bao cao wesite bán giày.docxssuser11005a
 
Hướng dẫn sử dụng Selenium ide
Hướng dẫn sử dụng Selenium ideHướng dẫn sử dụng Selenium ide
Hướng dẫn sử dụng Selenium ideThiện Dương
 

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

jquery.pdf
jquery.pdfjquery.pdf
jquery.pdf
 
J query
J queryJ query
J query
 
Thutap
ThutapThutap
Thutap
 
Bai4 basic jsp_4474
Bai4 basic jsp_4474Bai4 basic jsp_4474
Bai4 basic jsp_4474
 
Thiết kế giao diện với Liquid
Thiết kế giao diện với LiquidThiết kế giao diện với Liquid
Thiết kế giao diện với Liquid
 
Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952
 
Javascript tong-hop a-z
Javascript tong-hop a-zJavascript tong-hop a-z
Javascript tong-hop a-z
 
Bizweb theme workshop
Bizweb theme workshopBizweb theme workshop
Bizweb theme workshop
 
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java script
 
Web1012 slide 1
Web1012   slide 1Web1012   slide 1
Web1012 slide 1
 
Thuyet trinh java fx
Thuyet trinh java fxThuyet trinh java fx
Thuyet trinh java fx
 
Web1012 slide 1
Web1012   slide 1Web1012   slide 1
Web1012 slide 1
 
Yii
YiiYii
Yii
 
Php day 2011 - Nukeviet
Php day 2011 -  NukevietPhp day 2011 -  Nukeviet
Php day 2011 - Nukeviet
 
Tuan5 dreamweaver 0001
Tuan5 dreamweaver 0001Tuan5 dreamweaver 0001
Tuan5 dreamweaver 0001
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
 
Chủ đề 9 wordpress - vũ mạnh cường
Chủ đề 9  wordpress - vũ mạnh cườngChủ đề 9  wordpress - vũ mạnh cường
Chủ đề 9 wordpress - vũ mạnh cường
 
Bao cao wesite bán giày.docx
Bao cao wesite bán giày.docxBao cao wesite bán giày.docx
Bao cao wesite bán giày.docx
 
Asp control
Asp controlAsp control
Asp control
 
Hướng dẫn sử dụng Selenium ide
Hướng dẫn sử dụng Selenium ideHướng dẫn sử dụng Selenium ide
Hướng dẫn sử dụng Selenium ide
 

Plus de MasterCode.vn

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnMasterCode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnMasterCode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnMasterCode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnMasterCode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnMasterCode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnMasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnMasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnMasterCode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnMasterCode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnMasterCode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...MasterCode.vn
 

Plus de MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
 

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

  • 1. Bài 7: Thư viện jQuery và thư viện jQuery UI
  • 2. Hệ thống bài cũ Viết mã tạo các hiệu ứng Hiệu ứng Image Rollover Hiệu ứng SlideShow Thao tác với các điều khiển SelectBox CheckBox RadioButton Form Kiểm tra tính hợp lệ cho Form CSS trong JavaScript Viết mã tạo các hiệu ứng Hiệu ứng Image Rollover Hiệu ứng SlideShow Thao tác với các điều khiển SelectBox CheckBox RadioButton Form Kiểm tra tính hợp lệ cho Form CSS trong JavaScript Thư viện jQuery và jQuery UI 2
  • 3. Mục tiêu bài học 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 Thư viện jQuery và jQuery UI 3
  • 4. THƯ VIỆN JAVASCRIPT Lập trình hướng đối tượng và mô hình DOM 4 THƯ VIỆN JAVASCRIPT
  • 5. Thư viện Vấ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ực hiện lặp lại nhiều chức năng thông dụng Giải pháp Tạo một thư viện các đoạn mã thực hiện các chức năng thông dụng để chia sẻ chung Lậ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ện Cá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áp Lập trình trở nên dễ dàng hơn Tiết kiệm thời gian Thư viện ngày càng được tối ưu Vấ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ực hiện lặp lại nhiều chức năng thông dụng Giải pháp Tạo một thư viện các đoạn mã thực hiện các chức năng thông dụng để chia sẻ chung Lậ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ện Cá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áp Lập trình trở nên dễ dàng hơn Tiết kiệm thời gian Thư viện ngày càng được tối ưu Thư viện jQuery và jQuery UI 5
  • 6. 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 .js Khi cần sử dụng thì tham chiếu đến file này Thư viện jQuery và jQuery UI 6
  • 7. 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)
  • 8. 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 trang web 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ạy tố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_framewo rks) Lập trình mất nhiều thời gian và công sức để làm cho trang web 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ạy tố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_framewo rks) Thư viện jQuery và jQuery UI 8
  • 9. THƯ VIỆN JQuery Lập trình hướng đối tượng và mô hình DOM 9 THƯ VIỆN JQuery
  • 10. jQuery jQuery là một thư viện JavaScript được ưa chuộng và dễ sử dụng Thư viện jQuery bao gồm 1 file JavaScript (Click vào đây để xem file) Thư viện jQuery và jQuery UI 10
  • 11. Làm quen jQuery qua ví dụ đầu tiên Thư viện jQuery và jQuery UI 11 Nhấn vào đoạn văn bản thì đoạn văn bản biến mất Xem Vi du jQuery dau tien
  • 12. 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 đến thư 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
  • 13. 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
  • 14. 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 cho ngườ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ản này) Development: Dành cho người muốn phát triển các plug-in cho jQuery hoặc muố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 cho ngườ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ản này) Development: Dành cho người muốn phát triển các plug-in cho jQuery hoặc muốn nghiên cứu sâu hơn về jQuery Thư viện jQuery và jQuery UI 14
  • 15. Thêm thư viện vào trang web B3. Down thư viện Trên Browser, vào File  Save Page As… Để down thư viện. Lưu file thư viện vào cùng thư 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ện Trên Browser, vào File  Save Page As… Để down thư viện. Lưu file thư viện vào cùng thư 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>
  • 16. jQuery jQuery thực hiện tìm (query) đến các element của trang web và thực hiện các “hành động” lên chúng Cú pháp: $: Chỉ ra sử dụng thư viện jQuery selector: Chỉ ra các phần tử được chọn action: 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 web và thực hiện các “hành động” lên chúng Cú pháp: $: Chỉ ra sử dụng thư viện jQuery selector: Chỉ ra các phần tử được chọn action: 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()
  • 17. Lựa chọn các element Lựa chọn element theo ID Lựa chọn element theo lớp Lựa chọn element theo loại Lựa chọn element theo hệ thống phân cấp Lựa chọn element theo vị trí Lựa chọn element theo attribute Lựa chọn element theo ID Lựa chọn element theo lớp Lựa chọn element theo loại Lựa chọn element theo hệ thống phân cấp Lựa chọn element theo vị trí Lựa chọn element theo attribute Thư viện jQuery và jQuery UI 17
  • 18. 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")
  • 19. 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")
  • 20. 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")
  • 21. 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")
  • 22. 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ệu Phầ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ệu Phần tử đầu tiên là 0 Thư viện jQuery và jQuery UI 22 $("p:first") $("p:last") $("p")[1] $("p:odd")
  • 23. 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 value hoặ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
  • 24. Thực hiện hành động Sau khi tìm được các element, điều quan trọng là thực hiện cá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ện Phương thức làm việc với css Các phương thức để thực hiện duyệt qua các element Cá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ện cá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ện Phương thức làm việc với css Các phương thức để thực hiện duyệt qua các element Các phương thức để tạo các hiệu ứng Thư viện jQuery và jQuery UI 24
  • 25. 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, submit form, 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ông thường bởi nó ứng xử giống nhau đối với các trình duyệt Có 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 element Gọ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, submit form, 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ông thường bởi nó ứng xử giống nhau đối với các trình duyệt Có 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 element Gọ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
  • 26. Sử dụng hàm bind() Cú pháp event: tên sự kiện data: dữ liệu truyền vào handler: 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ện data: dữ liệu truyền vào handler: 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>
  • 27. 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
  • 28. 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>
  • 29. Làm việc với CSS jQuery hỗ trợ phương thức css() để thay đổi các thuộc tính css cho các element HTML Cú 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 dongCSS
  • 30. Duyệt qua các element jQuery cung cấp hàm .each() để duyệt qua một nhóm các element được chọn Cú 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
  • 31. 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
  • 32. 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>
  • 33. Các hiệu ứng jQuery cung cấp nhiều hiệu ứng Hiệ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
  • 34. 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ày show(): Hiển thị element hide(): Ẩn element toggle(): 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
  • 35. 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
  • 36. 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 gian và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 gian và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
  • 37. Hiệu ứng mờ (Fade In và Fade Out) Fade In: Rõ dần cho đến khi xuất hiện Fade 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
  • 38. Hiệu ứng trượt (Sliding) slideUp(): Trượt lên trên và biến mất slideDown(): 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
  • 39. THƯ VIỆN JQuery UI Lập trình hướng đối tượng và mô hình DOM 39 THƯ VIỆN JQuery UI
  • 40. jQuery UI Là một thư viện mở rộng cung cấp các tính năng cho giao diệ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 để down Hoặc down bản đầy đủ Giải nén thư viện và để cùng thư mục với trang web Lưu ý: để sử dụng jQuery UI, bạn phải thêm thư viện jQuery và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 giao diệ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 để down Hoặc down bản đầy đủ Giải nén thư viện và để cùng thư mục với trang web Lưu ý: để sử dụng jQuery UI, bạn phải thêm thư viện jQuery và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 demo về các tính năng của jQuery
  • 41. Tính năng kéo thả (Drag and Drop) Phương thức draggable() để cho phép element được kéo Phương thức droppable() để xử lý sự kiện cho khi một element được thả vào element này Cú 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ểu thêm về tính năng Drag and Drop
  • 42. 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
  • 43. Demo Drag and Drop <script type="text/javascript" src="jquery-1.6.4.min.js"></script> <script type="text/javascript" src=“jsjquery-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=“jsjquery-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>
  • 44. Demo Drag and Drop Thư viện jQuery và jQuery UI 44
  • 45. Tạo menu chồng nhau jQuery UI hỗ trợ phương thức accordion() để tạo menu chồng nhau Thư viện jQuery và jQuery UI 45
  • 46. 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
  • 47. 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();
  • 48. Menu chồng nhau Thư viện jQuery và jQuery UI 48
  • 49. 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
  • 50. 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ạn code mẫu có thể sử dụng luôn, hoặc tùy chỉnh cho phù hợp với mục đích sử dụng Các đoạn mã mẫu thường là Tạo menu các loại Tạo hiệu ứng cho ảnh Tạo hiệu ứng cho văn bản … Một số nguồn tham khảo code http://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ạn code mẫu có thể sử dụng luôn, hoặc tùy chỉnh cho phù hợp với mục đích sử dụng Các đoạn mã mẫu thường là Tạo menu các loại Tạo hiệu ứng cho ảnh Tạo hiệu ứng cho văn bản … Một số nguồn tham khảo code http://javascriptsource.com/ http://www.dynamicdrive.com/ http://www.javascriptkit.com/cutpastejava.shtml Thư viện jQuery và jQuery UI 50
  • 51. 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
  • 52. Thư viện là kho lưu trữ mã cho các chức năng thông dụng. Bạn cũng có thể tự tạo thư viện cho riêng mình hoặ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ụng và 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ông dụng. Bạn cũng có thể tự tạo thư viện cho riêng mình hoặ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ụng và 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
  • 53. jQuery cung cấp các hàm để thực hiện các hành động như hàm xử lý sự kiện, làm việc với css, duyệt qua các element và các hàm tạo các hiệu ứng jQuery 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ỉnh cá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 động như hàm xử lý sự kiện, làm việc với css, duyệt qua các element và các hàm tạo các hiệu ứng jQuery 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ỉnh cá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