Các JavaScript Framework khác
Prototype - Trang này chứa văn kiện API, đầy đủ với các ví dụ và tham chiếu chéo. Bạn sẽ
cũng tìm thấy các hướng dẫn đa dạng và làm quen với các thành viên Prototype Core.
script.aculo.us - Một tập hợp đầy đủ văn kiện API tham khảo, Installation Scripts
DoJo - Một tập hợp đầy đủ văn kiện API tham khảo, Installation Scripts
Ext JS - Một tập hợp đầy đủ văn kiện API tham khảo, Installation Scripts
Rico - Một tập hợp đầy đủ văn kiện API tham khảo, Installation Scripts
Qooxdoo - qooxdoo là một AJAX Application Framework toàn diện và mới mẻ.
Bạn đang xem trước 20 trang tài liệu Tài liệu JQuery, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
st item thứ ba.
The JQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 37
$("li").eq(2).addClass("selected");
});
.selected { color:red; }
list item 1
list item 2
list item 3
list item 4
list item 5
list item 6
Nó sẽ cho kết quả sau:
Lọc các phần tử trong jQuery
Phương thức filter( selector ) có thể được sử dụng để lọc ra tất cả các phần tử từ tập hợp các
phần tử được kết nối mà không kết nối với Selector đã cho. selector có thể được viết bởi sử dụng
bất kỳ cú pháp Selector nào.
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 38
Ví dụ
Ví dụ đơn giản sau áp dụng màu tới các list mà liên kết với class là middle:
The JQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$("li").filter(".middle").addClass("selected");
});
.selected { color:red; }
list item 1
list item 2
list item 3
list item 4
list item 5
list item 6
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 39
Nó sẽ cho kết quả sau:
Xác định vị trí các phần tử con trong jQuery
Phương thức find( selector ) có thể được sử dụng để xác định vị trí tất cả phần tử con của một
loại phần tử cụ thể. selector có thể được viết bởi sử dụng bất kỳ cú pháp selector nào.
Ví dụ
Ví dụ đơn giản sau chọn tất cả phần tử có sẵn bên trong các phần tử khác nhau.
The JQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$("p").find("span").addClass("selected");
});
.selected { color:red; }
This is 1st paragraph and THIS IS RED
This is 2nd paragraph and THIS IS ALSO RED
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 40
Nó sẽ cho kết quả sau:
Các phương thức DOM Filter trong jQuery
Bảng dưới liệt kê các phương thức hữu ích giúp bạn có thể sử dụng để lọc ra các phần tử đa dạng
từ một danh sách các phần tử DOM:
STT Phương thức & Miêu tả
1 eq( index )
Rút gọn tập hợp phần tử được kết nối thành một phần tử đơn
2 filter( selector )
Gỡ bỏ tất cả phần tử từ tập hợp các phần tử được kết nối mà không kết nối với
selector cụ thể đã cho.
3 filter( fn )
Gỡ bỏ tất cả phần tử từ tập hợp các phần tử được kết nối mà không kết nối với hàm
cụ thể đã cho
4 is( selector )
Kiểm tra sự chọn lọc hiện tại với một Expression và trả về true, nếu ít nhất một phần
tử của sự chọn lọc đó phù hợp với selector đã cho
5 map( callback )
Tịnh tiến một tập hợp các phần tử trong đối tượng jQuery vào trong tập hợp các giá trị
khác trong một mảng jQuery (nếu có thể hoặc không chứa các phần tử)
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 41
6 not( selector )
Gỡ bỏ tất cả các phần tử kết nối với selector đã cho từ tập hợp các phần tử được kết
nối.
7 slice( start, [end] )
Chọn một tập hợp con của các phần tử được kết nối
Các phương thức DOM Traversing trong jQuery
Bảng dưới liệt kê tất cả phương thức hữu ích bạn có thể sử dụng để xác định vị trí các phần tử đa
dạng trong một DOM:
STT Phương thức & Miêu tả
1 add( selector )
Thêm nhiều phần tử, đã kết nối bởi selector đã cho, tới tập hợp các phần tử được kết
nối.
2 andSelf( )
Thêm sự chọn lọc trước tới sự chọn lọc hiện tại
3 children( [selector])
Nhận một tập hợp các phần tử chứa tất cả các phần tử con trực tiếp duy nhất của mỗi
một trong tập hợp các phần tử được kết nối.
4 closest( selector )
Nhận một tập hợp các phần tử chứa phần tử cha gần nhất mà kết nối selector đã cho,
bao gồm phần tử bắt đầu
5 contents( )
Tìm tất cả node con bên trong các phần tử được kết nối (bao gồm cả các text node),
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 42
hoặc nội dung tài liệu, nếu phần tử là một Iframe.
6 end( )
Biến đổi hoạt động phá hủy (destructive) gần đây nhất, thay đổi tập hợp các phần tử
về trạng thái trước đó.
7 find( selector )
Tìm kiếm các phần tử con mà kết nối với selector đã cho.
8 next( [selector] )
Nhận một tập hợp các phần tử chứa anh (em) kế tiếp duy nhất của mỗi phần tử trong
tập hợp phần tử đã cho.
9 nextAll( [selector] )
Tìm tất cả các phần tử anh em kế sau phần tử hiện tại
10 offsetParent( )
Trả về một tập hợp jQuery với phần tử cha đã xác định vị trí của phần tử được kết nối
đầu tiên
11 parent( [selector] )
Nhận cha trực tiếp của một phần tử. Nếu được gọi trên một tập hợp các phần tử,
phương thức parent trả về một tập hợp các phần tử cha trực tiếp duy nhất
12 parents( [selector] )
Nhận một tập hợp các phần tử chứa tổ tiên (ancestor) của tập hợp các phần tử đã kết
nối (ngoại trừ các phần tử root)
13 prev( [selector] )
Nhận một tập hợp các phần tử chứa phần tử anh em ở trước duy nhất của mỗi phần
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 43
tử trong tập hợp các phần tử đã kết nối.
14 prevAll( [selector] )
Tìm tất cả phần tử anh em ở trước phần tử hiện tại
15 siblings( [selector] )
Nhận một tập hợp phần tử chứa tất cả phần tử anh em duy nhất của mỗi phần tử
trong tập hợp các phần tử đã cho
CSS Selector trong jQuery
Thư viện jQuery hỗ trợ gần như tất cả các Selector trong Cascading Style Sheet (CSS), khi đã
được đề cập trên World Wide Web Consortium.
Sử dụng thư viện jQuery, các nhà lập trình có thể nâng cấp các Website của họ mà không cần lo
lắng về các trình duyệt và phiên bản của nó, miễn là các trình duyệt này đã kích hoạt JavaScript.
Hầu hết các phương thức jQuery CSS không sửa đổi nội dung của đối tượng jQuery và chúng
được sử dụng để áp dụng các thuộc tính CSS trên các phần tử DOM.
Áp dụng các thuộc tính CSS trong jQuery
Thực sự đơn giản để áp dụng các thuộc tính CSS bởi sử dụng phương thức css( PropertyName,
PropertyValue ) của jQuery.
Dưới đây là cú pháp cho phương thức này:
selector.css( PropertyName, PropertyValue );
Ở đây, bạn có thể truyền PropertyName như là một chuỗi JavaScript và dựa trên giá trị của
nó, PropertyValue có thể là một chuỗi hoặc integer.
Ví dụ
Ví dụ sau thêm màu Font tới list item thứ ba:
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 44
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$("li").eq(2).css("color", "red");
});
list item 1
list item 2
list item 3
list item 4
list item 5
list item 6
Nó sẽ cho kết quả sau:
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 45
Áp dụng nhiều thuộc tính CSS trong jQuery
Bạn có thể áp dụng nhiều thuộc tính CSS bởi sử dụng phương thức CSS( {key1:val1,
key2:val2....) của jQuery. Bạn có thể áp dụng bao nhiêu thuộc tính như bạn muốn chỉ trong một lần
gọi phương thức đơn.
Sau đây là cú pháp cho phương thức này:
selector.css( {key1:val1, key2:val2....keyN:valN})
Tại đây bạn có thể truyền key như là thuộc tính và val như là giá trị của nó được miêu tả ở trên.
Ví dụ
Sau đây là ví dụ đơn giản mà thêm màu Font cũng như màu nền tới list item thứ 3:
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$("li").eq(2).css({"color":"red", "background-color":"green"});
});
list item 1
list item 2
list item 3
list item 4
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 46
list item 5
list item 6
Nó sẽ cho kết quả sau:
Thiết lập độ rộng và chiều cao phần tử trong jQuery
Phương thức width( val ) và height( val ) có thể được sử dụng để thiết lập độ rộng và chiều cao
tương ứng của bất kỳ phần tử.
Ví dụ
Ví dụ đơn giản sau thiết lập độ rộng của phần tử div đầu tiên, trong khi phần còn lại của các phần
tử có độ rộng được thiết lập bởi Style Sheet.
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$("div:first").width(100);
$("div:first").css("background-color", "blue");
});
div{ width:70px; height:50px; float:left; margin:5px; background:red; cursor:pointer;
}
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 47
d
d
d
d
Nó sẽ cho kết quả sau:
Các phương thức CSS trong jQuery
Bảng dưới liệt kê tất cả phương thức mà bạn có thể sử dụng để xử lý các thuộc tính CSS:
STT Phương thức & Miêu tả
1 css( name )
Trả về thuộc tính style trên phần tử đã kết nối đầu tiên
2 css( name, value )
Thiết lập thuộc tính style đơn tới một giá trị trên tất cả phần tử đã kết nối
3 css( properties )
Thiết lập một đối tượng key/value như là các thuộc tính style tới tất cả các phần tử đã
kết nối
4 height( val )
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 48
Thiết lập chiều cao CSS của mỗi phần tử đã kết nối
5 height( )
Nhận chiều cao, giá trị pixel, được tính toán hiện tại của phần tử đã kết nối đầu tiên
6 innerHeight( )
Nhận chiều cao bên trong (trừ Border và bao gồm padding) cho phần tử đã kết nối đầu
tiên
7 innerWidth( )
Nhận độ rộng bên trong (trừ Border và bao gồm padding) cho phần tử đã kết nối đầu
tiên.
8 offset( )
Nhận offset hiện tại của phần tử kết nối đầu tiên, bằng giá trị pixel, liên quan tới tài liệu
9 offsetParent( )
Trả về một tập hợp jQuery với phần tử cha đã xác định vị trí của phần tử kết nối đầu
tiên
10 outerHeight( [margin] )
Nhận chiều cao bên ngoài (bao gồm Border và padding theo mặc định) cho phần tử đã
kết nối đầu tiên
11 outerWidth( [margin] )
Nhận độ rộng bên ngoài (bao gồm Border và padding theo mặc định) cho phần tử đã
kết nối đầu tiên
12 position( )
Nhận vị trí trên cùng và bên trái của một phần tử liên quan tới phần tử cha ở offset của
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 49
nó
13 scrollLeft( val )
Khi một giá trị được truyền vào trong, scrollLeft offset được thiết lập tới giá trị đó trên
các phần tử đã kết nối.
14 scrollLeft( )
Nhận ScrollLeft offset của phần tử đã kết nối đầu tiên
15 scrollTop( val )
Khi một giá trị được truyền vào, scrollTop offset được thiết lập tới giá trị đó trên tất cả
phần tử đã kết nối
16 scrollTop( )
Nhận scrollTop offset của phần tử đã kết nối đầu tiên.
17 width( val )
Thiết lập độ rộng CSS của mỗi phần tử đã kết nối
18 width( )
Nhận độ rộng, giá trị pixel, được tính toán hiện tại của phần tử kết nối đầu tiên
Thao tác DOM trong jQuery
jQuery cung cấp các phương thức để thao tác với DOM một cách cực kỳ hiệu quả. Bạn không cần
viết những đoạn code quá dài để sửa đổi giá trị thuộc tính của bất kỳ phần tử nào hoặc để trích
(extract) các đoạn HTML code từ một thẻ p hoặc div.
jQuery cung cấp các phương thức như .attr(), .html(), .val() để thu nhận thông tin từ các phần tử
DOM để sử dụng cho lần sau.
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 50
Thao tác nội dung trong jQuery
Phương thức html( ) nhận nội dung html (bên trong HTML) của phần tử đã kết nối đầu tiên.
Dưới đây là cú pháp của phương thức .html():
selector.html( )
Ví dụ
Ví dụ đơn giản sau sử dụng các phương thức .html() và .text(val). Trong đó, .html() thu nhận nội
dung HTML từ đối tượng và sau đó phương thức .text(val) thiết lập giá trị của đối tượng bởi sử
dụng tham số đã truyền.
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$("div").click(function () {
var content = $(this).html();
$("#result").text( content );
});
});
#division{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 51
Click on the square below:
This is Blue Square!!
Nó sẽ cho kết quả:
Thay thế phần tử DOM trong jQuery
Bạn có thể thay thế hoàn toàn một phần tử DOM với các phần tử HTML hoặc DOM đã xác định.
Phương thức replaceWith( content ) thực hiện mục đích này rất hiệu quả.
Sau đây là cú pháp:
selector.replaceWith( content )
Ở đây, content là những gì bạn muốn thay thế cho phần tử ban đầu. Nó có thể là HTML hoặc văn
bản.
Ví dụ
Ví dụ đơn giản sau sẽ thay thế phần tử div với "JQuery is Great" −
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$("div").click(function () {
$(this).replaceWith("JQuery is Great");
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 52
});
});
#division{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
Click on the square below:
This is Blue Square!!
Nó sẽ cho kết quả sau:
Gỡ bỏ các phần tử DOM trong jQuery
Có thể có một tình huống khi bạn muốn gỡ bỏ một hoặc nhiều phần tử DOM từ tài liệu. jQuery
cung cấp hai phương thức để xử lý tình huống này:
Phương thức empty( ) gỡ bỏ tất cả node con từ tập hợp các phần tử đã kết nối, trong khi phương
thức remove( expr ) gỡ bỏ tất cả các phần tử đã kết nối từ DOM.
Dưới đây là cú pháp:
selector.remove( [ expr ])
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 53
or
selector.empty( )
Bạn có thể truyền tham số expr tùy ý để lọc tập hợp các phần tử cần gỡ bỏ.
Ví dụ
Trong ví dụ đơn giản, các phần tử được gỡ bỏ ngay sau khi chúng được click:
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$("div").click(function () {
$(this).remove( );
});
});
.div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
Click on any square below:
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 54
Nó sẽ cho kết quả sau:
Chèn các phần tử DOM trong jQuery
Có thể có tình huống khi bạn muốn chèn một hoặc nhiều phần tử DOM mới vào trong tài liệu đang
tồn tại của bạn. jQuery cung cấp nhiều phương thức đa dạng để chèn các phần tử vào các vị trí
khác nhau.
Phương thức after( content ) chèn content sau mỗi phần tử đã kết nối, trong khi phương
thức before( content ) chèn content trước mỗi phần tử đã kết nối.
Dưới đây là cú pháp của các phương thức:
selector.after( content )
or
selector.before( content )
Ở đây, content là những gì bạn muốn chèn. Nó có thể là HTML hoặc văn bản.
Ví dụ
Trong ví dụ sau, các phần tử div được chèn ngay trước phần tử được click:
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 55
$("div").click(function () {
$(this).before('' );
});
});
.div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
Click on any square below:
Nó sẽ cho kết quả sau:
Các phương thức thao tác DOM trong jQuery
Dưới đây liệt kê tất cả phương thức mà bạn có thể sử dụng để thao tác các phần tử DOM:
STT Phương thức & Miêu tả
1 after( content )
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 56
Chèn content sau mỗi phần tử đã kết nối
2 append( content )
Phụ thêm content tới bên trong mỗi phần tử đã kết nối
3 appendTo( selector )
Phụ thêm tất cả phần tử đã kết nối tới tập hợp phần tử đã cho khác
4 before( content )
Chèn content trước mỗi phần tử đã kết nối
5 clone( bool )
Mô phỏng các phần tử DOM đã kết nối, và tất cả các Event Handler của chúng, và
chọn các mô phỏng đó
6 clone( )
Mô phỏng các phần tử DOM đã kết nối và chọn các mô phỏng đó
7 empty( )
Gỡ bỏ tất cả các node con từ tập hợp các phần tử đã kết nối
8 html( val )
Thiết lập các nội dung HTML của mỗi phần tử đã kết nối
9 html( )
Nhận các nội dung HTML (HTML bên trong) của phần tử đã kết nối đầu tiên
10 insertAfter( selector )
Chèn tất cả phần tử đã kết nối vào sau tập hợp các phần tử đã xác định khác
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 57
11 insertBefore( selector )
Chèn tất cả phần tử đã kết nối vào trước tập hợp các phần tử đã xác định khác
12 prepend( content )
Thêm vào trước content tới bên trong mỗi phần tử đã kết nối
13 prependTo( selector )
Thêm vào trước tất cả phần tử đã kết nối tới tập hợp các phần tử đã xác định khác
14 remove( expr )
Gỡ bỏ tất cả phần tử đã kết nối từ DOM
15 replaceAll( selector )
Thay thế các phần tử đã kết nối bởi Selector đã cho với các phần tử được kết nối
16 replaceWith( content )
Thay thế tất cả phần tử đã kết nối với các phần tử HTML hoặc DOM đã xác định
17 text( val )
Thiết lập các nội dung text của tất cả phần tử đã kết nối
18 text( )
Nhận các nội dung text đã tổ hợp của tất cả phần tử đã kết nối
19 wrap( elem )
Bao bọc (wrap) mỗi phần tử đã kết nối với phần tử đã xác định
20 wrap( html )
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 58
Wrap mỗi phần tử đã kết nối với nội dung HTML đã xác định
21 wrapAll( elem )
Wrap tất cả phần tử trong tập hợp đã kết nối vào trong một phần tử bao bọc đơn (elem
ở đây là phần tử DOM)
22 wrapAll( html )
Wrap tất cả phần tử trong tập hợp đã kết nối vào trong một phần tử bao bọc đơn (html
là phần tử HTML)
23 wrapInner( elem )
Wrap các nội dung con bên trong mỗi phần tử đã kết nối (bao gồm các node văn bản)
với một phần tử DOM
24 wrapInner( html )
Wrap các nội dung con bên trong mỗi phần tử đã kết nối (bao gồm các node văn bản)
với một cấu trúc HTML
Xử lý sự kiện trong jQuery
Chúng ta có khả năng tạo các trang web động bởi sử dụng các Sự kiện (Event). Các sự kiện là các
hành động mà có thể được phát hiện bởi ứng dụng web của bạn.
Sau đây ví dụ một số sự kiện:
Nhấp chuột
Tải trang web
Di chuyển chuột qua một phần tử
Đệ trình một HTML Form
Thao tác nhấn phím trên bàn phím
etc.
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 59
Khi các sự kiện này được kích hoạt, bạn có thể sử dụng các hàm custom để phản hồi bất kỳ những
gì bạn muốn với sự kiện đó. Những hàm custom này gọi là Event Handler.
Bind các Event Handler trong jQuery
Sử dụng Event Model trong jQuery, chúng ta có thể thiết lập các Event Handler trên các phần tử
DOM với phương thức bind() như sau:
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$('div').bind('click', function( event ){
alert('Hi there!');
});
});
.div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
Click on any square below to see the result:
ONE
TWO
THREE
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 60
Code trên sẽ làm cho phần tử div phản hồi lại sự kiện click; khi người sử dụng nhấp chuột bên
trong phần tử div này, ngay sau đó, thông báo sẽ được hiển thị.
Nó sẽ cho kết quả sau:
Cú pháp đầy đủ của lệnh bind() trong jQuery như sau:
selector.bind( eventType[, eventData], handler)
Tiếp theo, chúng tôi diễn tả chi tiết các tham số:
eventType − Một chuỗi chứa một loại JavaScript event, như click hoặc đệ trình. Bạn theo
dõi phần dưới để thấy danh sách đầy đủ các loại sự kiện.
eventData − tham số tùy ý là một map của dữ liệu mà sẽ được truyền tới Event Handler.
handler − Một hàm để thực thi mỗi khi sự kiện được kích hoạt.
Gỡ bỏ Event Handler trong jQuery
Một nét đặc trưng là, mỗi khi một Event Handler được thành lập, nó vẫn còn hiệu quả trong phần
sống còn lại của trang web. Có một sự cần thiết khi bạn muốn gỡ bỏ Event Handler này.
jQuery cung cấp lệnh unbind() để gỡ bỏ một Event Handler đang tồn tại. Cú pháp của unbind()
trong jQuery như sau:
selector.unbind(eventType, handler)
or
selector.unbind(eventType)
Chi tiết về tham số:
eventType − Một chuỗi chứa một loại JavaScript Event, như click hoặc đệ trình. Bạn theo
dõi phần dưới để thấy danh sách đầy đủ các loại sự kiện.
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 61
handler − Nếu được cung cấp, nó nhận diện Event Handler cụ thể cần gỡ bỏ.
Các loại sự kiện trong jQuery
Bạn có thể kết nối (bind) các sự kiện sau bởi sử dụng jQuery:
STT Loại Event & Miêu tả
1 blur
Xuất hiện khi phần tử mất trọng tâm
2 change
Xuất hiện khi phần tử thay đổi
3 click
Xuất hiện khi click chuột
4 dblclick
Kích hoạt khi nhấp đúp chuột
5 error
Xuất hiện khi có một lỗi trong quá trình tải
6 focus
Xuất hiện khi phần tử nhận trọng tâm
7 keydown
Xuất hiện khi phím được nhấn
8 keypress
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 62
Kích hoạt khi phím được nhấn và thả ra
9 keyup
Kích hoạt khi phím được thả ra
10 load
Xuất hiện khi tài liệu được tải
11 mousedown
Xuất hiện khi nút chuột được nhấn
12 mouseenter
Xuất hiện khi chuột di chuyển vào trong khu vực một phần tử
13 mouseleave
Xuất hiện khi chuột di chuyển ra khỏi khu vực một phần tử
14 mousemove
Kích hoạt khi con trỏ chuột di chuyển
15 mouseout
Kích hoạt khi con trỏ chuột di chuyển ra khỏi một phần tử
16 mouseover
Kích hoạt khi con trỏ chuột di chuyển qua một phần tử
17 mouseup
Xuất hiện khi một nút chuột được nhả ra
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 63
18 resize
Kích hoạt khi kích cỡ cửa sổ thay đổi
19 scroll
Kích hoạt khi cửa sổ được cuốn
20 select
Kích hoạt khi một text được chọn
21 submit
Kích hoạt khi một form được đệ trình
22 unload
Kích hoạt khi tài liệu không được tải
Đối tượng Event trong jQuery
Hàm callback nhận một tham số đơn; khi một Handler được gọi, đối tượng JavaScript Event sẽ
được truyền qua nó.
Đối tượng Event thường không cần thiết và tham số được bỏ qua, khi context là thường có sẵn khi
Handler được kết nối để biết chính xác những gì cần được thực hiện khi Handler được kích hoạt;
tuy nhiên có một số thuộc tính nào đó mà bạn cần truy xuất.
Các thuộc tính của đối tượng Event trong jQuery
Các thuộc tính của Event là có sẵn và an toàn để truy cập theo một phương thức độc lập:
STT Thuộc tính & Miêu tả
1 altKey
Thiết lập là true nếu phím Alt được nhấn khi sự kiện được kích hoạt, nếu không là
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 64
false. Phím Alt được gán nhãn là Option trên hầu hết bàn phím Mac
2 ctrlKey
Thiết lập là true nếu phím Ctrl được nhấn khi sự kiện được kích hoạt, nếu không là
false
3 data
Giá trị, nếu bất kỳ, được truyền như là tham số thứ hai tới lệnh bind() khi Handler
được thành lập.
4 keyCode
Cho sự kiện các phím di chuyển lên, xuống, điều này trả về phím mà được nhấn
5 metaKey
Thiết lập là true nếu phím Meta được nhấn khi sự kiện được kích hoạt, nếu không là
false. Phím Meta là phím Ctrl trên các PC và phím Command trên Macs
6 pageX
Cho các sự kiện liên quan tới chuột, xác định tọa độ ngang của sự kiện trong mỗi
quan hệ với trang ban đầu.
7 pageY
Cho các sự kiện liên quan tới chuột, xác định tọa độ dọc của sự kiện trong mỗi quan
hệ với trang ban đầu
8 relatedTarget
Với một số sự kiện liên quan đến chuột, nhận diện phần tử mà con trỏ chuột rời khỏi
hoặc đi vào khi sự kiện được kích hoạt.
9 screenX
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 65
Với một số sự kiện liên quan đến chuột, xác định tọa độ ngang của sự kiện trong mối
quan hệ với màn hình ban đầu
10 screenY
Với một số sự kiện liên quan đến chuột, xác định tọa độ dọc của sự kiện trong mối
quan hệ với màn hình ban đầu
11 shiftKey
Thiết lập là true nếu phím Shift được nhấn khi sự kiện được kích hoạt, nếu không là
false
12 target
Nhận diện phần tử mà với nó sự kiện được kích hoạt
13 timeStamp
timestamp (giá trị mili giây) khi sự kiện được tạo ra
14 type
Với tất cả sự kiện, xác định loại sự kiện mà được kích hoạt
15 which
Với các sự kiện liên quan tới bàn phím, xác định code giá trị số cho phím mà gây ra sự
kiện, và với các sự kiện liên quan tới chuột, xác định nút nào được nhấn (1 cho nút
trái, 2 cho ở giữa và 3 cho nút phải)
Ví dụ
The jQuery Example
<script type="text/javascript"
src="">
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 66
$(document).ready(function() {
$('div').bind('click', function( event ){
alert('Event type is ' + event.type);
alert('pageX : ' + event.pageX);
alert('pageY : ' + event.pageY);
alert('Target : ' + event.target.innerHTML);
});
});
.div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
Click on any square below to see the result:
ONE
TWO
THREE
Nó sẽ cho kết quả sau:
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 67
Các phương thức của đối tượng Event trong jQuery
Dưới đây liệt kê các phương thức mà có thể được gọi trên một đối tượng Event trong jQuery:
STT Phương thức & Miêu tả
1 preventDefault()
Ngăn cản trình duyệt thực thi hành động mặc định
2 isDefaultPrevented()
Trả về có hay không phương thức event.preventDefault() đã từng được gọi trên đối
tượng Event này
3 stopPropagation()
Dừng bubble một sự kiện tới các phần tử cha, ngăn cản bất cứ phần tử cha nào được
thông báo về sự kiện này
4 isPropagationStopped()
Trả về có hay không event.stopPropagation() đã từng gọi trên đối tượng Event này
5 stopImmediatePropagation()
Dừng phần còn lại của các Handler từ việc được thực thi
6 isImmediatePropagationStopped()
Trả về có hay không event.stopImmediatePropagation() đã từng được gọi trên đối
tượng Event này
Các phương thức thao tác đối tượng Event trong
jQuery
Bảng dưới liệt kê các phương thức quan trọng liên quan tới Event trong jQuery:
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 68
STT Phương thức & Miêu tả
1 bind( type, [data], fn )
Bind một Handler tới một hoặc nhiều sự kiện cho mỗi phần tử đã kết nối. Có thể cũng
bind các sự kiện Custom
2 off( events [, selector ] [, handler(eventObject) ] )
Nó gỡ bỏ một sự kiện sống được bind
3 hover( over, out )
Bắt chước việc hover cho sự di chuyển ví dụ của chuột trên và rời khỏi một đối tượng
4 on( events [, selector ] [, data ], handler )
Bind một Handler tới một sự kiện cho tất cả phần tử hiện tại, tương lai, và đã kết nối.
Có thể cũng bind các sự kiện custom.
5 one( type, [data], fn )
Bind một Handler tới một hoặc nhiều sự kiện để được thực thi một lần cho mỗi phần
tử đã kết nối
6 ready( fn )
Bind một hàm để được thực thi bất cứ khi nào DOM sẵn sàng để được thao tác
7 trigger( event, [data] )
Kích hoạt một sự kiện trên mỗi phần tử đã kết nối
8 triggerHandler( event, [data] )
Kích hoạt tất cả Event Handler được bind trên một phần tử
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 69
9 unbind( [type], [fn] )
Thực hiện ngược lại với bind, nó gỡ bỏ các đối tượng được bind từ mỗi phần tử đã kết
nối
Các phương thức Event Helper trong jQuery
jQuery cũng cung cấp một tập hợp các hàm Event Helper mà có thể được sử dụng hoặc để kích
hoạt một sự kiện hoặc để bind bất kỳ loại sự kiện nào được đề cập ở phần trên.
Các phương thức Trigger trong jQuery
Dưới đây là ví dụ sẽ kích hoạt sự kiện blur trên tất cả đoạn văn:
$("p").blur();
Phương thức Binding trong jQuery
Ví dụ sau sẽ bind một sự kiện click trên tất cả phần tử −
$("div").click( function () {
// do something here
});
Bảng dưới liệt kê đầy đủ tất cả phương thức được hỗ trợ bởi jQuery:
STT Phương thức & Miêu tả
1 blur( )
Kích hoạt sự kiện blur của mỗi phần tử đã kết nối
2 blur( fn )
Bind một hàm tới sự kiện blur của mỗi phần tử đã kết nối
3 change( )
Kích hoạt sự kiện change của mỗi phần tử đã kết nối
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 70
4 change( fn )
Bind một hàm tới sự kiện change của mỗi phần tử đã kết nối
5 click( )
Kích hoạt sự kiện click của mỗi phần tử đã kết nối
6 click( fn )
Bind một hàm tới sự kiện click của mỗi phần tử đã kết nối
7 dblclick( )
Kích hoạt sự kiện dblclick của mỗi phần tử đã kết nối
8 dblclick( fn )
Bind một hàm tới sự kiện dblclick của mỗi phần tử đã kết nối
9 error( )
Kích hoạt sự kiện error của mỗi phần tử đã kết nối
10 error( fn )
Bind một hàm tới sự kiện error của mỗi phần tử đã kết nối
11 focus( )
Kích hoạt sự kiện focus của mỗi phần tử đã kết nối
12 focus( fn )
Bind một hàm tới sự kiện focus của mỗi phần tử đã kết nối
13 keydown( )
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 71
Kích hoạt sự kiện keydown của mỗi phần tử đã kết nối
14 keydown( fn )
Bind một hàm tới sự kiện keydown của mỗi phần tử đã kết nối
15 keypress( )
Kích hoạt sự kiện keypress của mỗi phần tử đã kết nối
16 keypress( fn )
Bind một hàm tới sự kiện keypress của mỗi phần tử đã kết nối
17 keyup( )
Kích hoạt sự kiện keyup của mỗi phần tử đã kết nối
18 keyup( fn )
Bind một hàm tới sự kiện keyup của mỗi phần tử đã kết nối
20 load( fn )
Bind một hàm tới sự kiện load của mỗi phần tử đã kết nối
21 mousedown( fn )
Bind một hàm tới sự kiện mousedown của mỗi phần tử đã kết nối
22 mouseenter( fn )
Bind một hàm tới sự kiện mouseenter của mỗi phần tử đã kết nối
23 mouseleave( fn )
Bind một hàm tới sự kiện mouseleave của mỗi phần tử đã kết nối
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 72
24 mousemove( fn )
Bind một hàm tới sự kiện mouseover của mỗi phần tử đã kết nối
25 mouseout( fn )
Bind một hàm tới sự kiện mouseout của mỗi phần tử đã kết nối
26 mouseover( fn )
Bind một hàm tới sự kiện mouseover của mỗi phần tử đã kết nối
27 mouseup( fn )
Bind một hàm tới sự kiện mouseup của mỗi phần tử đã kết nối
28 resize( fn )
Bind một hàm tới sự kiện resize của mỗi phần tử đã kết nối
29 scroll( fn )
Bind một hàm tới sự kiện scroll của mỗi phần tử đã kết nối
30 select( )
Kích hoạt sự kiện select của mỗi phần tử đã kết nối
31 select( fn )
Bind một hàm tới sự kiện select của mỗi phần tử đã kết nối
32 submit( )
Kích hoạt sự kiện submit của mỗi phần tử đã kết nối
33 submit( fn )
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 73
Bind một hàm tới sự kiện submit của mỗi phần tử đã kết nối
34 unload( fn )
Bind một hàm tới sự kiện unload của mỗi phần tử đã kết nối
jQuery Ajax
AJAX là từ viết tắt của Asynchronous JavaScript and XML và công nghệ này giúp chúng ta tải dữ
liệu từ Server mà không cần Refresh trình duyệt.
Nếu bạn cảm thấy mới mẻ với AJAX, mình đề nghị bạn nên truy cập trang: Ajax Tutorialtrước khi
theo dõi những gì được đề cập trong chương này.
jQuery là một công cụ tuyệt vời cung cấp một tập hợp các phương thức AJAX dồi dào để phát triển
ứng dụng web.
Tải dữ liệu một cách đơn giản với jQuery
Nó là thực sự dễ dàng để tải bất kỳ dữ liệu tĩnh hoặc dữ liệu động bởi sử dụng jQuery AJAX.
jQuery cung cấp phương thức load() để thực hiện công việc này:
Cú pháp
Sau đây là cú pháp đơn giản cho phương thức load() trong jQuery:
[selector].load( URL, [data], [callback] );
Miêu tả chi tiết về các tham số:
URL − URL của ngồn Server-Side để Yêu cầu (Request) được gửi tới. Nó có thể là CGI,
ASP, JSP, hoặc PHP script mà tạo dữ liệu động hoặc ra khỏi database
data − tham số tùy ý này biểu diễn một đối tượng mà các thuộc tính của nó được xếp theo
thứ tự vào trong các tham số được mã hóa một cách thích hợp để được truyền tới Yêu cầu
(Request). Nếu được xác định, Request được tạo bởi sử dụng phương thức POST. Nếu bị
bỏ qua, phương thức GET được sử dụng.
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 74
callback − Một hàm callback được gọi sau dữ liệu phản hồi đã được tải vào trong các phần
tử của tập hợp đã kết nối. tham số đầu tiên được truyền tới hàm này là văn bản phản hồi từ
Server và tham số thứ hai là mã hóa trạng thái.
Ví dụ
Bạn xem xét HTML file sau với một đoạn jQuery code nhỏ:
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$("#driver").click(function(event){
$('#stage').load('../result.html');
});
});
Click on the button to load result.html file −
STAGE
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 75
Ở đây, load() khởi tạo một AJAX request tới URL file đã xác định là ../result.html. Sau khi tải file
này, tất cả nội dung sẽ được đưa đến vào trong phần tử được tag với ID là stage. Giả sử,
../result.html file chỉ có một dòng HTML như sau:
THIS IS RESULT...
Khi bạn click vào nút đã cho, thì khi đó result.html được tải.
Nhận dữ liệu JSON trong jQuery
Có thể sẽ có một tình huống khi Server sẽ trả về chuỗi JSON cho yêu cầu của bạn. Hàm tiện ích
jQuery getJSON() phân tích chuỗi JSON đã trả về và tạo chuỗi kết quả có sẵn cho hàm callback
như là tham số đầu tiên để thực hiện các hành động khác xa hơn.
Cú pháp
Cú pháp của phương thức getJSON() trong jQuery là:
[selector].getJSON( URL, [data], [callback] );
Dưới đây là miêu tả chi tiết về các tham số:
URL − URL của nguồn Server-Side được kết nối thông qua phương thức GET.
data − Một đối tượng mà các thuộc tính của nó cung cấp cặp name/value được sử dụng để
xây dựng một chuỗi truy vấn để được nối kết với URL, hoặc một chuỗi truy vấn được định
dạng và được mã hóa trước.
callback − Một hàm được gọi khi Request hoàn thành. Giá trị dữ liệu kết quả từ phân tích
thân phải hồi như là một chuỗi jQuery được truyền như là tham số đầu tiên tới callback này,
và trạng thái là thứ hai.
Ví dụ
Bạn xem xét HTML file sau với một đoạn jQuery code nhỏ:
The jQuery Example
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 76
<script type="text/javascript"
src="">
$(document).ready(function() {
$("#driver").click(function(event){
$.getJSON('../result.json', function(jd) {
$('#stage').html(' Name: ' + jd.name + '');
$('#stage').append('Age : ' + jd.age+ '');
$('#stage').append(' Sex: ' + jd.sex+ '');
});
});
});
Click on the button to load result.json file −
STAGE
Ở đây, phương thức tiện ích getJSON() trong jQuery khởi tạo một AJAX Request tới URL file đã
xác định là result.json. Sau khi tải file này, tất cả nội dung sẽ được truyền tới hàm callback mà
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 77
cuối cùng sẽ được đưa đến bên trong phần tử được tag với ID là stage. Giả sử, result.json
có nội dung json được định dạng là:
{
"name": "Zara Ali",
"age" : "67",
"sex": "female"
}
Khi bạn click vào nút đã cho, thì khi đó result.json được tải.
Truyền dữ liệu tới Server trong jQuery
Nhiều khi bạn thu thập input từ người sử dụng và bạn truyền những input này tới Server để tiến
hành xử lý sâu hơn. jQuery AJAX làm nó đủ dễ dàng để truyền các dữ liệu đã thu thập tới Server
bởi sử dụng tham số data của bất kỳ phương thức Ajax có sẵn nào.
Ví dụ
Ví dụ này minh họa cách truyền input từ người dùng tới một WebServer mà sẽ gửi kết quả trở lại
và chúng ta sẽ in nó ra:
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$("#driver").click(function(event){
var name = $("#name").val();
$("#stage").load('/jquery/result.php', {"name":name} );
});
});
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 78
Enter your name and click on the button:
STAGE
Còn đây là code được viết trong result.php script:;
<?php
if( $_REQUEST["name"] )
{
$name = $_REQUEST['name'];
echo "Welcome ". $name;
}
?>
Bây giờ, bạn có thể nhập bất kỳ text nào vào trong hộp input đã cho và sau đó nhấn nút Show
Result để xem những gì bạn đã nhập trong Input box.
Các phương thức jQuery AJAX
Bạn đã thấy khái niệm của AJAX sử dụng jQuery. Bảng sau liệt kê tất cả phương thức jQuery
AJAX mà bạn có thể sử dụng tùy theo yêu cầu của bạn:
STT Phương thức & Miêu tả
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 79
1 jQuery.ajax( options )
Tải một trang từ xa bởi sử dụng một HTTP Request
2 jQuery.ajaxSetup( options )
Setup các thiết lập global cho AJAX Request
3 jQuery.get( url, [data], [callback], [type] )
Tải một trang từ xa bởi sử dụng một HTTP GET Request
4 jQuery.getJSON( url, [data], [callback] )
Tải dữ liệu JSON bởi sử dụng một HTTP GET Request
5 jQuery.getScript( url, [callback] )
Tải và thực thi một JavaScript file bởi sử dụng một HTTP GET request.
6 jQuery.post( url, [data], [callback], [type] )
Tải một trang từ xa bởi sử dụng một HTTP POST request.
7 load( url, [data], [callback] )
Tải HTML từ một file từ xa và inject nó vào trong DOM.
8 serialize( )
Sắp xếp theo thứ tự một tập hợp các phần tử input vào trong một chuỗi dữ liệu
9 serializeArray( )
Xếp theo thứ tự tất cả Form và phần tử Form như phương thức .serialize() nhưng trả
về một cấu trúc dữ liệu JSON để bạn làm việc với nó.
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 80
Các sự kiện jQuery AJAX
Bạn có thể gọi nhiều phương thức jQuery đa dạng trong suốt vòng đời của tiến trình gọi AJAX.
Dựa trên cơ sở các Event/Stage khác nhau, các phương thức sau là có sẵn:
Bạn truy cập vào trang sau để xem tất cả AJAX Event trong jQuery.
STT Phương thức & Miêu tả
1 ajaxComplete( callback )
Đính kèm một hàm để được thực thi bất cứ khi nào một AJAX Request hoàn thành
2 ajaxStart( callback )
Đính kèm một hàm để được thực thi bất cứ khi nào một AJAX Request bắt đầu và
không có hoạt động nào sẵn sàng
3 ajaxError( callback )
Đính kèm một hàm để được thực thi bất cứ khi nào một AJAX Request thất bại
4 ajaxSend( callback )
Đính kèm một hàm để được thực thi trước khi một AJAX Request được gửi
5 ajaxStop( callback )
Đính kèm một hàm để được thực thi bất cứ khi nào tất cả AJAX Request đã kết thúc
6 ajaxSuccess( callback )
Đính kèm một hàm để được thực thi bất cứ khi nào một AJAX Request kết thúc thành
công
Hiệu ứng trong jQuery
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 81
jQuery cung cấp một giao diện đơn giản để thực hiện các loại hiệu ứng tuyệt vời đa dạng. Các
phương thức jQuery cho phép chúng ta áp dụng nhanh chóng các hiệu ứng phổ biến với cấu hình
tối thiểu.
Chương này sẽ bàn luận tất cả phương thức jQuery quan trọng để tạo các Visual Effect.
Hiển thị và ẩn các phần tử trong jQuery
Các lệnh để hiển thị và ẩn các phần tử là khá gọn như những gì chúng ta mong muốn:show() để
hiển thị các phần tử trong một tập hợp được wrap và hide() để ẩn chúng.
Cú pháp
Sau đây là cú pháp đơn giản cho phương thức show() trong jQuery:
[selector].show( speed, [callback] );
Miêu tả chi tiết về các tham số:
speed − Một chuỗi biểu diễn một trong 3 tốc độ đã định trước ("slow", "normal", hoặc "fast")
hoặc số mili giây để chạy hiệu ứng (ví dụ: 1000).
callback − tham số tùy ý này biểu diễn một hàm để được thực thi bất cứ khi nào hiệu ứng
hoàn thành; thực thi một lần cho mỗi hiệu ứng.
Còn đây là cú pháp đơn giản cho phương thức hide() trong jQuery:
[selector].hide( speed, [callback] );
Miêu tả chi tiết về các tham số:
speed − Một chuỗi biểu diễn một trong 3 tốc độ đã định trước ("slow", "normal", hoặc "fast")
hoặc số mili giây để chạy hiệu ứng (ví dụ: 1000).
callback − tham số tùy ý này biểu diễn một hàm để được thực thi bất cứ khi nào hiệu ứng
hoàn thành; thực thi một lần cho mỗi hiệu ứng.
Ví dụ
Bạn xem xét HTML file sau với một jQuery code nhỏ:
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 82
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$("#show").click(function () {
$(".mydiv").show( 1000 );
});
$("#hide").click(function () {
$(".mydiv").hide( 1000 );
});
});
.mydiv{ margin:10px;padding:12px; border:2px solid #666; width:100px; height:100px;}
This is a SQUARE
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 83
Nó sẽ cho kết quả sau:
Toggle các phần tử trong jQuery
jQuery cung cấp các phương thức để toggle trạng thái hiển thị của các phần tử giữa hiển thị và ẩn.
Nếu phần tử khi khởi tạo là hiển thị, nó sẽ được ẩn; nếu là ẩn, nó sẽ được hiển thị.
Cú pháp
Cú pháp đơn giản cho một phương thức toggle() trong jQuery:
[selector]..toggle([speed][, callback]);
Dưới đây là miêu tả về các tham số:
speed − Một chuỗi biểu diễn một trong 3 tốc độ đã định trước ("slow", "normal", hoặc "fast")
hoặc số mili giây để chạy hiệu ứng (ví dụ: 1000).
callback − tham số tùy ý này biểu diễn một hàm để được thực thi bất cứ khi nào hiệu ứng
hoàn thành; thực thi một lần cho mỗi hiệu ứng.
Ví dụ
Chúng ta có thể tạo hiệu ứng cho bất kỳ phần tử nào, ví dụ như một phần tử div chứa một hình
ảnh:
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$(".clickme").click(function(event){
$(".target").toggle('slow', function(){
$(".log").text('Transition Complete');
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 84
});
});
});
.clickme{ margin:10px;padding:12px; border:2px solid #666; width:100px; height:50px;}
Click Me
Nó sẽ cho kết quả sau:
Các phương thức jQuery Effect
Ở phần trên, bạn đã theo dõi các khái niệm cơ bản về jQuery Effect. Bảng dưới liệt kê tất cả
phương thức cơ bản để tạo các kiểu hiệu ứng khác nhau:
STT Phương thức & Miêu tả
1 animate( params, [duration, easing, callback] )
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 85
Một hàm để tạo các hiệu ứng custom
2 fadeIn( speed, [callback] )
Fade in tất cả các phần tử đã kết nối bởi việc điều chỉnh opacity (độ chắn sáng) và
kích hoạt một callback tùy ý sau khi hoàn thành.
3 fadeOut( speed, [callback] )
Fade out tất cả phần tử đã kết nối bởi điều chỉnh opacity về 0, sau đó thiết lập hiển thị
về “none” và kích hoạt một callback tùy ý sau khi hoàn thành
4 fadeTo( speed, opacity, callback )
Fade độ chắn sáng của tất cả phần tử đã kết nối tới một opacity đã cho và kích hoạt
một callback tùy ý sau khi hoàn thành.
5 hide( )
Ẩn mỗi phần tử trong tập hợp đã kết nối nếu chúng đã hiển thị
6 hide( speed, [callback] )
Ẩn tất cả phần tử đã kết nối bởi sử dụng một hiệu ứng đẹp và kích hoạt một callback
tùy ý sau khi hoàn thành
7 show( )
Hiển thị mỗi phần tử trong tập hợp đã kết nối nếu chúng bị ẩn
8 show( speed, [callback] )
Hiển thị tất cả phần tử đã kết nối bởi sử dụng một hiệu ứng đẹp và kích hoạt một
callback tùy ý sau khi hoàn thành
10 slideDown( speed, [callback] )
Bộc lộ tất cả phần tử đã kết nối bởi điều chỉnh chiều cao của chúng và kích hoạt một
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 86
callback tùy ý sau khi hoàn thành
11 slideToggle( speed, [callback] )
Toggle sự nhìn thấy của tất cả phần tử đã kết nối bởi điều chỉnh chiều cao và kích
hoạt một callback tùy ý sau khi hoàn thành
12 slideUp( speed, [callback] )
Ẩn tất cả phần tử đã kết nối bởi điều chỉnh chiều cao của chúng và kích hoạt một
callback tùy ý sau khi hoàn thành.
13 stop( [clearQueue, gotoEnd ])
Dừng tất cả các hiệu ứng đang chạy hiện tại trên tất cả phần tử đã xác định
14 toggle( )
Toggle sự hiển thị mỗi phần tử trong tập hợp các phần tử đã kết nối
15 toggle( speed, [callback] )
Toggle sự hiển thị mỗi phần tử trong tập hợp các phần tử đã kết nối bởi sử dụng một
hiệu ứng đẹp và kích hoạt một callback tùy ý sau khi hoàn thành
16 toggle( switch )
Toggle sự hiển thị mỗi phần tử trong tập hợp đã kết nối dựa trên việc chuyển mạch
giữa: true là hiển thị tất cả phần tử, false là ẩn tất cả phần tử
17 jQuery.fx.off
Vô hiệu hóa toàn bộ tất cả hiệu ứng
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 87
Các hiệu ứng trên cơ sở UI Library trong jQuery
Để sử dụng các hiệu ứng này, bạn có thể hoặc tải về jQuery UI Library mới nhất là jquery-ui-
1.11.4.custom.zip từ trang jQuery UI Library hoặc sử dụng Google CDN để sử dụng nó theo
cách tương tự như chúng tôi đã thực hiện cho jQuery.
Chúng tôi đã sử dụng Google CDN cho jQuery UI bởi sử dụng đoạn trích code sau trong trang
HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-
ui.min.js">
STT Phương thức & Miêu tả
1 Blind
Blind away phần tử hoặc hiển thị nó bằng blind in
2 Bounce
Bounce phần tử theo chiều dọc hoặc chiều ngang n lần
3 Clip
Clip on hoặc clip off phần tử, theo chiều dọc hoặc chiều ngang
4 Drop
Drop away phần tử hoặc hiển thị nó bởi drop in
5 Explode
Explode phần tử thành nhiều phần
6 Fold
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 88
Fold phần tử như một phần của tờ giấy
7 Highlight
Highlight nền với màu đã cho
8 Puff
Scale và fade out các hiệu ứng tạo ra hiệu ứng puff
9 Pulsate
Pulsate độ chắn sáng của phần tử nhiều lần
10 Scale
Shrink hoặc grow một phần tử bởi tỷ lệ phần trăm nào đó
11 Shake
Shake phần tử theo chiều dọc hoặc chiều ngang n lần.
12 Size
Đưa phần tử về chiều cao và rộng đã xác định
13 Slide
Slide out phần tử ra khỏi cửa nhìn
14 Transfer
Chuyển hình dáng của một phần tử cho phần tử khác
Plugins trong jQuery
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 89
Plug-in là một phần của code được viết theo một JavaScript file chuẩn. Những file này cung cấp
các phương thức jQuery hữu ích mà có thể được sử dụng cùng với các phương thức jQuery
Library.
Có rất nhiều jQuery plug-in có sẵn để bạn có thể tải về từ kho lưu tại:
Cách sử dụng Plugins trong jQuery
Để tạo các phương thức của một plugin có sẵn, chúng ta bao plugin file (tương tự như jQuery
Library file) vào trong phần tử của tài liệu.
Chúng tôi phải chắc chắn rằng nó xuất hiện sau jQuery file nguồn chính, và trước JavaScript code
mà chúng ta custom.
Ví dụ sau chỉ cách để bao jquery.plug-in.js plugin −
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
.......your custom code.....
});
.............................
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 90
Cách để phát triển một Plug-in trong jQuery
Đó là đơn giản để viết một plug-in cho riêng bạn. Bạn theo cú pháp sau để tạo một phương thức:
jQuery.fn.methodName = methodDefinition;
Ở đây, methodNameM là tên của phương thức mới và methodDefinition là định nghĩa phương thức
thực sự.
jQuery team đề nghị một Guideline sau:
Bất kỳ phương thức hoặc hàm nào bạn đính kèm phải có một dấu chấm phảy (;) ở cuối
cùng.
Phương thức của bạn phải trả về đối tượng jQuery, trừ khi có ghi chú khác.
Bạn nên sử dụng this.each để lặp lại tập hợp các phần tử đã kết nối hiện tại. Nó làm cho
code rõ ràng và tương thích.
Đặt trước filename với jquery, theo sau là tên của plugin và kết thúc với .js
Luôn luôn đính kèm plugin tới jQuery một cách trực tiếp thay vì sử dụng $, vì thế người sử
dụng có thể dùng một biệt hiệu custom thông qua phương thức noConflict().
Ví dụ, nếu chúng ta viết một plugin mà chúng ta muốn đặt tên là debug, thì tên JavaScript file cho
plugin này là:
jquery.debug.js
Sự sử dụng của tiền tố jquery. loại bỏ bất cứ sự xung đột về tên với file dự định để sử dụng với
thư viện khác.
Ví dụ
Sau đây là một plug-in nhỏ để có phương thức warning() cho mục đích debug. Bạn giữ code này
trong jquery.debug.js file:
jQuery.fn.warning = function() {
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 91
return this.each(function() {
alert('Tag Name:"' + $(this).prop("tagName") + '".');
});
};
Ví dụ sau minh họa cách sử dụng phương thức warning(). Giả sử chúng ta
đặtjquery.debug.js trong cùng một thư mục với trang HTML.
The jQuery Example
<script type="text/javascript"
src="">
$(document).ready(function() {
$("div").warning();
$("p").warning();
});
This is paragraph
This is division
Nó sẽ cảnh báo bạn như sau:
Tag Name:"DIV"
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 92
Tag Name:"P"
Tài liệu tham khảo về jQuery
Dưới đây là các nguồn tài liệu hữu ích về jQuery, bạn nên sử dụng chúng để hiểu sâu hơn những
chủ đề chúng tôi đã đề cập trong loạt bài này.
Các đường link hữu ích về jQuery
Tutorialspoint − Loạt bài hướng dẫn của chúng tôi xây dựng dựa trên nguồn này.
jQuery Official Site - Nguồn chính của bạn về các phiên bản jQuery mới nhất, các plug-in,
các hướng dẫn, tin tức và blog,
jQuery Documentation - Link này sẽ đưa bạn tới trang jQuery Documentation bao gồm văn
kiện đầy đủ về jQuery.
jQuery User Interface - Tạo các UI (User Interface) cho trang web của bạn bởi sử dụng
jQuery UI.
jQuery Plug-ins - Kho lưu jQuery Plug-ins
jQuery @ wiki - Trang jQuery tại Wikipedia.
ECMAScript - Trang web chính thức về ECMAScript.
Các JavaScript Framework khác
Prototype - Trang này chứa văn kiện API, đầy đủ với các ví dụ và tham chiếu chéo. Bạn sẽ
cũng tìm thấy các hướng dẫn đa dạng và làm quen với các thành viên Prototype Core.
script.aculo.us - Một tập hợp đầy đủ văn kiện API tham khảo, Installation Scripts
DoJo - Một tập hợp đầy đủ văn kiện API tham khảo, Installation Scripts
Ext JS - Một tập hợp đầy đủ văn kiện API tham khảo, Installation Scripts
Rico - Một tập hợp đầy đủ văn kiện API tham khảo, Installation Scripts
Qooxdoo - qooxdoo là một AJAX Application Framework toàn diện và mới mẻ.
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Trang 93
Các file đính kèm theo tài liệu này:
- tai_lieu_jquery_tieng_viet_3931.pdf