Tài liệu Kiến thức cơ bản về những ngôn ngữ giao diện phía máy khách: Giữa năm 1993,
Tim Berners-Lee -
ngôn ngữ HTML
24/11/1995
HTML 2.0
IETF
14/01/1997
HTML 3.2
W3C
18/12/1997
HTML 4.0
W3C
28/10/2014
HTML 5.0
W3C
26/01/2000
XHTML 1.0
W3C
17/12/1996
Hakon Wium Lie -
ngôn ngữ CSS
12/05/1998
CSS 2
W3C
06/1999
CSS 3
W3C
09/1995
Brendan Eich -
ngôn ngữ LiveScript,
sau chuyển thành
Javascript
Netscape
08/1996
Jscript
Microsoft
17/06/2015
ECMAScript 6.0
ECMA
11/1996
ECMAScript
ECMA
20/10/2010
AngulaJS
Google
27/05/2009
NodeJS
Ryan Dahl
05/2005
Prototype
Sam Stephénon
19/08/2011
Bootstrap
Mark Otto &
Jacob Thornton
26/08/2006
jQuery
John Resig
Internet Explorer
Thomas Reardon
16/08/1995
Microsoft
C++
Opera
Opera Inc.
04/1995
Opera
C++
Internet Explorer
Mozilla
23/09/2002
Mozilla
C++, Js, CSS,
Rust, XUL, XBL
Safari
Apple Inc.
07/01/2003
Apple
C++, Objective C
UC Browser
UC Inside, World in Hand
08/2004...
36 trang |
Chia sẻ: honghanh66 | Lượt xem: 1248 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Kiến thức cơ bản về những ngôn ngữ giao diện phía máy khách, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Giữa năm 1993,
Tim Berners-Lee -
ngôn ngữ HTML
24/11/1995
HTML 2.0
IETF
14/01/1997
HTML 3.2
W3C
18/12/1997
HTML 4.0
W3C
28/10/2014
HTML 5.0
W3C
26/01/2000
XHTML 1.0
W3C
17/12/1996
Hakon Wium Lie -
ngôn ngữ CSS
12/05/1998
CSS 2
W3C
06/1999
CSS 3
W3C
09/1995
Brendan Eich -
ngôn ngữ LiveScript,
sau chuyển thành
Javascript
Netscape
08/1996
Jscript
Microsoft
17/06/2015
ECMAScript 6.0
ECMA
11/1996
ECMAScript
ECMA
20/10/2010
AngulaJS
Google
27/05/2009
NodeJS
Ryan Dahl
05/2005
Prototype
Sam Stephénon
19/08/2011
Bootstrap
Mark Otto &
Jacob Thornton
26/08/2006
jQuery
John Resig
Internet Explorer
Thomas Reardon
16/08/1995
Microsoft
C++
Opera
Opera Inc.
04/1995
Opera
C++
Internet Explorer
Mozilla
23/09/2002
Mozilla
C++, Js, CSS,
Rust, XUL, XBL
Safari
Apple Inc.
07/01/2003
Apple
C++, Objective C
UC Browser
UC Inside, World in Hand
08/2004
UCWeb
(Mobile)
Google Chrome
Google Inc.
02/09/2008
Google
C++
Cốc cốc
Cốc cốc
14/05/2013
Cốc cốc
C++, Hợp ngữ,
Python, JS
Máy chủ
(Server)
Nhận yêu cầu từ
máy khách. Xử lý
kịch bản phía
máy chủ, xuất tài
liệu HTML, CSS,
JS trả về phía
máy khách.
Máy khách
(Client)
Màn hình
(Desktop)
Hiển thị giao diện
tương tác
người dùng
Trình duyệt
(Browser)
Gửi yêu cầu và nhận
phản hổi. Biên dịch
và thực thi các tài liệu
HTML, CSS, JS để
tạo giao diện tương
tác người dùng
Người xem
(Person)
Truy
cập
Yêu cầu
(Request)
Phản hồi
(Response)
SƠ LƯỢC LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA CÁC NGÔN NGỮ LẬP
TRÌNH GIAO DIỆN WEBSITE VÀ SỰ RA ĐỜI CỦA CÁC TRÌNH DUYỆT WEB
KIẾN THỨC CƠ BẢN
VỀ NHỮNG NGÔN NGỮ GIAO DIỆN
PHÍA MÁY KHÁCH
“Lập trình không khó, quan trọng là có ý tưởng,
ý tưởng bất thành nếu thiếu kiến thức và kỹ năng.”
-- Mai0214cs –
(Nguồn tài liệu:
Nội dung siêu dữ liệu:
nội dung thiết lập những đặc điểm
và hành động về những nội dung
còn lại của tài liệu, hoặc nó mô tả
mối quan hệ tài liệu với những tài
liệu khác khác, hoặc những truyền
tải ngoài dải thông tin
Nội dung phân đoạn: nội dung của tài liệu,
nằm trong một đoạn của tài liệu.
Nội dung nhúng:
nội dung nhập từ một nguồn
khác vào tài liệu hoặc nội dung
từ một ngôn ngữ khác được
chèn vào tài liệu
Nội dung tương tác: nội dung
nhập từ một nguồn khác vào tài liệu
hoặc nội dung từ một ngôn ngữ khác
được chèn vào tài liệu
Nội dung tiêu đề:
nội dung định nghĩa phần tiêu đề
của một mục.
Nội dung mục:
nội dung dùng tập hợp một nhóm phần tử
khác lại. nội dung dùng để định nghĩa
thường được đặt ở đầu hoặc cuối
base
link
meta
template
title
canvas
svg
math
img
audio
video
embed
frame
object
a
button
keygent label
select textarea
script
noscript
style
abbr area b bdi bdo br
cite code data date datelist del dfn
em i input ins kbd map
mark meter output progress q ruby
s samp small span strong
sub sup time u var
wbr
h3
h2 h4 h6
h1 h5
article
aside
nav
section
form table
ul ol dl
header footer
div
p
fieldset figure pre
address
blockquote
ĐẠI CƯƠNG VỀ HTML
HTML (HyperText Markup Language):
là ngôn ngữ đánh dấu siêu văn bản, nó dùng
các thẻ hoặc các đoạn mã lệnh để chỉ cho trình
duyệt biết cách thức hiển thị các thành phần của
trang web lên trên trình duyệt.
Cấu trúc căn bản của một trang HTML
đơn giản
Tiêu đề trang
Nội dung trang HTML
Nội dung văn bản
Cấu trúc một phần tử div
Thẻ mở
Thẻ đóng
Tên thẻ
Thuộc tính
Nội dung thẻ
Bố cục Website cơ bản
NỘI DUNG SIÊU DỮ LIỆU
Những thẻ nội dung siêu dữ liệu là những thẻ được sử dụng chủ yếu trong phần tử head của tài liệu HTML. Những nội dung này không được hiển thị trực tiếp trên giao diện đồ họa người dùng, mà nó được sử dụng để
thiết lập những mô tả hay hành động về những nội dung còn lại của tài liệu HTML, hoặc là mô tả quan hệ giữa tài liệu với các tài liệu khác, hoặc những truyền tải ngoài dải thông tin.
- Phần tử link dùng để liên kết một tài nguyên khác vào trong trang, thông thường là các trang bộ định
kiểu CSS hay được sử dụng để đưa vào trong trang.
Các thuộc tính: href, crossorigin, rel, media, hreflang, type, size, title.
- Phần tử base dùng để chỉ đường dẫn cơ bản của tài liệu. Khi sử dụng phần tử này bắt buộc sử
dụng thuộc tính href hoặc target để chỉ ra đường dẫn cơ bản của website.
Các thuộc tính: href, target.
- Phần tử title dùng để đặt tiêu đề hoặc tên của tài liệu. Thông thường đoạn text mô tả tiêu đề của
trang được hiển thị trên thanh trạng thái của trình duyệt Web.
Thiết kế Website
- Phần tử meta được sử dụng thông thường cùng với các cặp kiểu, giá trị để mô tả thông tin trang
hay cài đặt cấu hình hiển thị trang.
- Phần tử script thường được sử dụng để viết những kịch bản động, hay những khối dữ liệu vào
trong tài liệu HTML, mà thông dụng nhất là để gọi các tập tin hay viết các đoạn mã javascript.
alert(“Thông báo”);
Các thuộc tính: src, type, charset, async, defer, crossorigin. Trong đó thông thường thuộc tính
async hay được sử dụng để tải các tập tin js không đồng bộ vào trang.
- Phần tử noscript được sử dụng và chỉ hoạt động khi trình duyệt của bạn không cho phép thực hiện
các đoạn mã được đưa ra trong phần tử script.
Trình duyệt của bạn hiện không hỗ trợ chạy Javascript.
- Phần tử template thường được sử dụng để khai báo việc lồng ghép HTML có thể được nhân bản
bằng cách chèn dữ liệu từ kịch bản script.
var data = [
{ hovaten: 'Mai Đức Thạch', gioitinh: 'Nam', tuoi: 28 },
{ hovaten: 'Trần Kim Duyên', gioitinh: 'Nữ', tuoi: 28 },
];
var template = document.querySelector('#row');
for (var i = 0; i < data.length; i += 1) {
var cat = data[i];
var clone = template.content.cloneNode(true);
var cells = clone.querySelectorAll('span');
cells[0].textContent = cat.hovaten;
cells[1].textContent = cat.gioitinh;
cells[2].textContent = cat.tuoi;
template.parentNode.appendChild(clone);
}
PHẦN TỬ TIÊU ĐỀ
Là phần định nghĩa tiêu đề của một mục,
thông thường mỗi một tài liệu HTML chỉ được
có 1 phần tử h1 và các phần tử h2, h3, h4, h5,
h6 khác không giới hạn số lượng.
h1
A
h2
A
h3
A
h4
A
h5
A
h6
A
TRÌNH BÀY VĂN BẢN
XÂY DỰNG BỐ CỤC TRANG
PHẦN TỪ NAV (trình bày danh sách trình đơn)
Phần tử nav dùng để xây dựng các danh sách trong HTML thường được sử dụng trong việc xây dựng
các trình đơn lựa chọn hay việc xây dựng các trình diễn ảnh. Khi sử dụng phần tử này, ta thường sử
dụng kết hợp với các phần tử danh sách. Các phần tử danh sách này có thể kết hợp lồng nhau hay kết
hợp các loại danh sách với nhau.
Danh sách không thứ tự Danh sách có thứ tự Danh sách định nghĩa
- Là danh sách liệt kê các mục
bằng ký hiệu chấm tròn trước
mỗi mục.
- Phần tử đánh dấu việc bắt
đầu và kết thúc danh sách.
- Phần tử có tác dụng thể
hiện việc bắt đầu và kết thúc mỗi
mục bằng dấu chấm tròn. Ta có
thể thay đổi dấu chấm tròn bằng
các ký hiệu khác bằng cách sử
dụng thuộc tính type:
square ■
disc ●
circle ○
- là danh sách các mục theo thứ
tự số thay đổi qua các mục.
- Phần tử đánh dấu việc bắt
đầu và kết thúc danh sách.
- Phần tử có tác dụng thể
hiện việc bắt đầu và kết thúc mỗi
mục bằng số thứ tự. Thay ký tự
thứ tự bằng ký hiệu khác bằng
cách sử dụng thuộc tính type:
A ABC
a abc
I I,II,III
i i,ii,iii
Để bắt đầu từ số n trở lên ta
dùng ...
- là một danh sách giống như
một bảng từ vựng và bảng giải
thích thuật ngữ lùi vào trong.
- Phần tử đánh dấu bắt
đầu và kết thúc danh sách.
- Phần tử chỉ ra thuật ngữ
cần định nghĩa.
- Phần tử chỉ thuật ngữ
dùng để định nghĩa.
Trang chủ
Giới thiệu
Tin tức
Liên hệ
Trang chủ
Tin tức
Thời trang
Xu hướng hiện đại
Thời trang
Phong cách hiện đại
Gia dụng
Tiện nghi hàng đầu
PHẦN TỬ ARTICLE (trình bày nội dung chính của trang)
Phần tử article được sử dụng để trình bày một khối hoàn chỉnh trong một tài liệu, trang, ứng dụng hay
site và về nguyên tắc nó có tính độc lập hoặc tái sử dụng. Trong một trang web ta thường dùng trong
việc trình bày nội dung chi tiết trang trên diễn đàn, tạp chí, bài báo, một bình luận từ người dùng, một
tiện ích tương tác hoặc một mục bất kỳ độc lập với nội dung. Phần tử này được xác định là thành phần
chính của trang (ngoại trừ phần đầu, phần cuối, trình đơn hay các sidebar), nó cần sử dụng cùng với
một số phần tử đánh dấu trang.
Ví dụ sau đây trình bày cách trình bày trang bài viết cùng với các bình luận về bài viết đó:
Xu hướng thiết kế web hiện nay
3 ngày trước
Tại đây viết nội dung chính của bài viết
Bình luận
Đăng bởi:
Trần Thái Hà
15 phút trước
Rất tốt, bài viết này giúp tôi biết thêm nhiều điều!
Đăng bởi:
Phạm Thanh Hoa
15 phút trước
Cảm ơn bạn rất nhiều về những chia sẻ này!
PHẦN TỬ SECTION (trình bày danh sách thuộc mục)
Phần tử section được sử dụng để trình bày các mục được nhóm chung trong một tài liệu hay ứng
dụng. Trên thực tế, ta thường sử dụng chúng để trình bày tin tức liên quan hay sản phẩm liên quan. Khi
trình bày phần này, ta thấy chủ đề của từng mục được xác định, nên ta có thể sử dụng các thẻ h1-h6 để
đánh dấu tiêu đề từng mục trong phần tử section này.
Ví dụ sau đây trình bày cách trình bày bài viết liên quan:
Thời trang
Cập nhật đầy đủ xu hướng thời trang hiện đại, tốt nhất Việt Nam hiện nay
Nội dung chi tiết nói về thời trang
Thời trang giới trẻ
Giới trẻ thời nay theo đuổi những phong cách thời trang trẻ trung, sôi động.
Chi tiết
Thời trang mùa hè
Mùa hè là mùa nóng bức nhất trong năm, quần áo sáng màu được lựa chọn.
Chi tiết
PHẦN TỬ ASIDE (trình bày nội dung sidebar của trang)
Phần tử aside được sử dụng để trình bày một phần của trang mà nội dung của nó có ít liên quan đến nội dung của
trang (hay nói cách khác là nó nằm tách biệt với nội dung của trang). Trong nhiều trang web, nó trình bày phần
sidebar của trang bao gồm như trình đơn, quảng cáo, tin tức hay sản phẩm liên quan.
Ví dụ sau đây trình bày cách trình bày sidebar gồm modul danh mục sản phẩm và tin tức mới:
Danh mục sản phẩm
Thời trang
Nội thất
Xu hướng thời trang 2016
Cập nhật Xu hướng thời trang năm 2016.
Thời trang mùa xuân
Xu hướng thời trang mùa xuân 2016.
Chi tiết
Thời trang mùa xuân
Xu hướng thời trang mùa xuân 2016.
Chi tiết
PHẦN TỬ TABLE (trình bày bảng)
Phần tử table được sử dụng để trình bày bảng dữ liệu trong một tài liệu hay ứng dụng. Trên thực tế,
bảng được sử dụng nhiều trong việc trình bày nội dung dữ liệu trong các trang danh sách quản trị và
phần nội dung các trang chi tiết sản phẩm hay chi tiết tin tức.
Ví dụ sau đây trình bày cách trình bày một bảng dữ liệu:
QUẢN LÝ SINH VIÊN
IDHọ và tên ĐiểmXếp loại
Khóa A
1Trần Tiến Tài 7Khá
2Phạm Mạnh Khoa 8
Khóa B
3Trần Văn Hưng 5Trung bình
4Đỗ Đức Thành 10Giỏi
TỔNG CỘNG7.5Khá
Một số phần tử được sử dụng để tạo bảng:
- Phần tử table dùng để tạo một bảng. Thuộc tính border để xác định đường viền, thuộc tính
cellpadding để xác định độ dày padding từng ô, thuộc tính cellspacing để xác định độ dày margin từng
ô.
- Phần tử caption để tạo tiêu đề của bảng.
- Phần tử tr dùng để tạo ra một dòng. Thuộc tính colspan để gộp các ô cạnh nhau của một dòng, thuộc
tính rowspan để gộp các ô cạnh nhau của một cột.
- Phần tử thead để bao quanh các dòng tiêu đề của bảng, phần tử tfoot để bao quanh các dòng tổng
kết của bảng. Phần tử tbody để bao quanh các dòng thân nội dung của bảng.
- Phần tử th để tạo ra một ô tiêu đề cột, phần tử td để tạo ra một ô nội dung trong dòng.
PHẦN TỬ FORM (trình bày biểu mấu nhập liệu)
Phần tử form được sử dụng để trình bày biểu mẫu trong một tài liệu hay ứng dụng. Trên thực tế, biểu
được sử dụng nhiều trong việc trình bày nội dung dữ liệu trong các trang quản trị và phần nội dung các
trang liên hệ...
- Phần tử form dùng để định nghĩa được biểu mẫu. Nó bao gồm các thuộc tính:
action xác định nơi giữ dữ liệu khi biểu mẫu được gửi đi.
method phương thức HTTP khi gửi dữ liệu lên là GET hay POST.
name đặt tên của biểu mẫu.
Ngoài ra còn một số thuộc tính khác như: target, enctype, accept, accept-charset.
- Phần tử input dùng để cho phép người dùng nhập dữ liệu vào. Nó thường nằm trong phần tử form. Nó
bao gồm một số thuộc tính thường dùng như:
type Chọn kiểu nhập của phần tử.
- Danh sách các nút bấm:
button submit reset image
- Nhập vào tập tin:
file
- Nhập văn bản, số, ngày tháng :
text hidden search tel
url email password date
time number range color
- Hộp kiểm lựa chọn từ danh sách:
checkbox radio
checked chỉ định một phần tử được chọn nếu là kiểu checkbox hoặc radio.
disabled không cho phép người dùng lựa chọn.
name tên của phần tử input
value giá trị của phần tử.
Một số thuộc tính khác của phần tử input: maxlength, minlength, size, readonly, required, multiple,
pattern, min, max, step, list, placeholder
- Phần tử select, datalist cho phép tạo một hộp chọn sổ xuống. Nó có các thuộc tính:
disabled Vô hiệu hóa việc lựa chọn.
multiple Cho phép có nhiều lựa chọn cùng lúc.
name Tên của phần tử
size Kích cỡ số tùy chọn của phần tử.
Trong phần tử này có các phần tử con là:
+ Phần tử optgroup cho phép nhóm các lựa chọn vào cùng kiểu.
+ Phần tử option dùng để định nghĩa một tùy chọn.
- Ngoài ra, để tạo biểu mẫu, ta có thể sử dụng một số phần tử khác như:
định nghĩa một biểu mẫu cho phép nhập nhiều dòng. Nó có các thuộc tinhs:
cols Chiều rộng của phần tử.
rows Số dòng hiển thị khi nhập.
disabled Vô hiệu hóa việc nhập phần tử.
name tên của phần tử
readonly chỉ cho phép đọc.
tạo một nhãn cho phần tử .
tạo một khung bao quanh biểu mẫu.
Tạo một tiêu đề cho phần tử .
tạo một nút button.
Lưu ý: trong trang Web, không nên sử dụng bảng để tạo khung bố cục trang web, để tạo bố cục trang
Web người ta thường dùng phần tử div, phần tử này không có chức năng hiển thị, mà được sử dụng
gắn kèm các class, id để tạo CSS xây dựng bố cục khung hiển thị trang web.
SỬ DỤNG LIÊN KẾT VÀ HÌNH ẢNH TRONG HTML
Phần tử Siêu liên kết a là những phần tử bên trong tài liệu được liên kết đến một vị trí xác định trong
cùng tài liệu hoặc liên kết đến một trang hoàn toàn khác. Khi ta click chuột vào siêu liên kết, nó sẽ nhảy
đến vị trí mà nó liên kết đến. Siêu liên kết có 2 loại:
- Liên kết trong: là liên kết đến phần trong cùng tài liệu hoặc cùng website.
- Liên kết ngoài: là liên kết đến các trang trên các site khác nhau.
Để tạo siêu liên kết, cần xác định hai thành phần:
- Địa chỉ đầy đủ hoặc URL của file được kết nối.
- Điểm nóng cung cấp cho liên kết.
Sử dụng siêu liên kết: Phần tử a được sử dụng để xác định văn bản hay hình ảnh sẽ dùng làm siêu liên
kết trong tài liệu HTML. Thuộc tính href (tham chiếu siêu văn bản) được dùng để chỉ ra địa chỉ, URL của
tài liệu hay file được liên kết.
Hypertext
Trong đó:
- Protocol: giao thức sử dụng. Ta có một số loại giao thức như http (truyền siêu văn bản);
telnet (mở một phiên telnet); gopher (tìm kiếm file); ftp (giao thức truyền file); mailto (gửi thư
điện tử).
- Host.domain: Địa chỉ Internet của máy chủ.
- Port: Cổng phục vụ của máy chủ đích.
- path/filename: Đường dẫn tới file.
- Hypertext: Văn bản hay hình ảnh mà người dùng cần click vào để kích hoạt liên kết.
Ngoài ra phần tử a còn một số thuộc tính khác như:
coords xác định tọa độ của một liên kết.
title tiêu đề liên kết.
hreflang chỉ định ngôn ngữ của các tài liệu liên quan.
name chỉ định tên của neo trong liên kết đến một điểm xác định của trang.
rel xác định mối quan hệ giữa tài liệu hiện hành và tài liệu liên kết.
rev xác định mối quan hệ giữa các tài liệu liên kết và tài liệu hiện tại.
shape chỉ định hình dạng của một liên kết. Nó có thể nhận giá trị default (mặc định), rect (hình
chữ nhật), circle (hình tròn), poly (hình đa giác).
target chỉ định nơi để mở các tài liệu liên kết. Nó có thể nhận giá trị:
_blank
_parent
_self
_top
framename
Để hiển thị hình ảnh trên trang, ta dùng phần tử img, kèm theo các thuộc tính src để chỉ ra đường dẫn
hình ảnh và alt để mô tả hình ảnh.
1. Liên kết văn bản
Liên kết đến một tài liệu khác
- Giả sử ta có hai tài liệu trên đĩa cứng cục bộ
doc1.html và doc2.html. Ta tạo liên kết từ doc1
sang doc2 như sau:
Tới doc2
- Khi tới tài liệu khác ta nên cung cấp một đường
dẫn để quay lại.
- Lưu ý: khi các file ở cùng thư mục ta dùng đường
dẫn tương đối, khi ở khác thư mục, ta dùng đường
dẫn tuyệt đối.
Sử dụng email và điện thoại
- Liên kết đến ứng dụng gửi email:
mai0214cs@gmail.com
- Liên kết đến ứng dụng gọi điện như skype:
0987.288.940
Liên kết đến một điễm xác định
trong cùng tài liệu
- Khi click vào một đề tài nào đó (Topic name) thì
các chi tiết (marker) ở môt phần khác của tài liệu
được hiển thị.
Cú pháp:
Chủ đề
Tại điểm cần liên kết đến ta đặt:
Nội dung
Liên kết đến một điểm xác định
ở tài liệu khác
- Khi click vào một đề tài nào đó (Topic name) thì
các chi tiết (marker) ở môt phần khác của tài liệu
khác được hiển thị.
Cú pháp:
Chủ đề
Tại điểm cần liên kết đến ta đặt ở trang doc2:
Nội dung
2. Bản đồ hình ảnh: là hình ảnh trong đó các vùng khác nhau hoạt động như các liên kết. HTML
cung cấp 3 phần tử để tạo một bản đồ hình ảnh.
- Phần tử xác định bản đồ hình ảnh. Nó cung cấp thuộc tính name để chỉ rõ tên của bản đồ hình
ảnh.
- Phần tử chỉ rõ tọa độ ở khu vực bên trong hình ảnh sẽ hoạt động như một siêu liên kết và hình
dạng của bản đồ hình ảnh. Nó có các thuộc tính:
alt chỉ rõ văn bản được thay thế nếu bản đồ hình ảnh không xuất hiện.
href chỉ rõ url của trang cần liên kết đến trong bản đồ ảnh.
shape chỉ ra hình dạng có thể chọn. Nó có thể nhận giá trị:
default mặc định circle hình tròn
rect hình chữ nhật poly hình đa giác
coords chỉ ra tọa độ của khu vực có thể bấm, nó phụ thuộc vào hình dạng được chỉ ra cho bản đồ
hình ảnh.
center_x, center_y, radius Hình tròn
left_x, top_y, right_x,
bottom_y
Hình chữ nhật
tùy chọn Đa giác
target chỉ ra nơi liên kết được mở.
- Phần tử : chọn ảnh làm bản đồ ảnh. Nó gồm các thuộc tính:
src chỉ ra đường dẫn đến hình ảnh.
alt văn bản thay thế hình ảnh khi không xuất hiện.
usermap nói đến tên bản đồ hình ảnh.
align canh lề cho hình ảnh.
border chiều rộng đường viền bao quanh hình ảnh.
width xác định chiều rộng hình ảnh.
height xác định chiều cao hình ảnh.
hspace xác định khoảng trắng bên phải và bên trái của hình ảnh.
vspace xác định khoảng trắng bên trên và bên dưới của hình ảnh.
ismap chỉ định kết nối đến một hình ảnh như một bản đồ hình ảnh phía máy chủ. Nó nhận giá trị
ismap.
longdesc chỉ định url của một hình ành chứa mô tả về hình ảnh.
ỨNG DỤNG CACHE
Ứng dụng Cache lưu trữ web phía máy khách, điều đó có nghĩa là ứng dụng web được tự động lưu trữ
và truy cập mà không cần kết nối với internet. Điều này rất tiện lợi khi người dùng muốn truy cập lại web
khi họ offline, nguồn tài liệu lưu trữ này sẽ tải nhanh hơn so với khi lấy từ máy chủ về, và nó góp phần
giảm tải xử lý cho máy chủ.
Nội dung tập tin dữ liệu
Mỗi khi bạn cập nhật tập tin trên máy chủ, bạn cần sửa đổi tên tập tin .appcache để máy khách cập nhật
lại phiên bản mới nhất của trang của bạn.
Lưu ý: kích thước lưu trữ dữ liệu cache của mỗi trình duyệt là khác nhau (thông thường giới hạn khoảng
5MB mỗi trang).
NỘI DUNG NHÚNG
CHÈN VIDEO VÀO TÀI LIỆU HTML
Để chèn video vào tài liệu HTML, ta sử dụng phần tử video.
Chơi/ Dừng
Lớn
Nhỏ
Bình thường
var myVideo = document.getElementById("video1");
function playPause() {
if (myVideo.paused){ myVideo.play();}
else{ myVideo.pause();}
}
function makeBig() { myVideo.width = 560; }
function makeSmall() { myVideo.width = 320; }
function makeNormal() { myVideo.width = 420; }
CHÈN ÂM THANH VÀO TÀI LIỆU HTML
Để chèn video vào tài liệu HTML, ta sử dụng phần tử audio.
Kiểu định dạng âm thanh hỗ trợ trong HTML5
mp3 audio/mpeg
ogg audio/ogg
wav audio/wav
Thuộc tính: autoplay, autobuffer, controls, loop,
preload, src
Kiểu định dạng video hỗ trợ trong HTML5
mp4 video/mp4
ogg video/ogg
webm video/webm
Thuộc tính: autoload, autobuffer, controls,
height, width, loop, preload, poster, src
CHÈN ĐỐI TƯỢNG HTML, FLASH VÀO TÀI LIỆU HTML
Để chèn video vào tài liệu HTML, ta sử dụng phần tử object hoặc embed, iframe.
Cả 2 phần tử audio và video có thể kích hoạt các sự
kiện sau: about,canplay, ended, error, loadeddata,
loadstart, pause, play, progress, retachange,
seeking, seepend, volumechange, waiting.
CHÈN ĐỒ HỌA AVG VÀO TÀI LIỆU HTML
Phần tử svg dùng để chèn một hình ảnh đồ họa vào trong tài liệu HTML. Để tạo ra một hình vẽ bằng phần tử svg, ta chỉ sử dụng thuộc tính và định dạng
CSS của chúng mà không cần sử dụng javascript.
Hình chữ nhật
<rect x="50" y="20" rx="20" ry="20" width="150" height="150"
style="fill:red;stroke:black;stroke-width:5;opacity:0.5" />
Hình tròn
<circle cx="50" cy="50" r="40" stroke="black"
stroke-width="3" fill="red" />
Hình elip
<ellipse cx="100" cy="50" rx="100" ry="30"
style="fill:red" />
<ellipse cx="110" cy="50" rx="80" ry="20"
style="fill:yellow" />
Đường thẳng
<line x1="0" y1="0" x2="200" y2="400"
style="stroke:rgb(255,0,0);stroke-width:2" />
Đường gấp khúc
<polyline points="20,20 40,25 60,40 80,120,120, 140
200,180" style="fill:none;stroke:black;stroke-width:3" />
Đa giác
<polygon points="100,10 40,180 190,60 10,60
160,180" fill="red"/>
Đoạn
Văn bản
<text x="0" y="15" fill="red" transform="rotate(30
20,40)">I love SVG
Nét vẽ
CHÈN ĐỒ CÔNG THỨC TOÁN MATH VÀO
TÀI LIỆU HTML
Phần tử math dùng để chèn một công thức toán vào
trong tài liệu HTML.
A=
x
y
z
w
CHÈN ĐỒ HỌA CANVAS
Phần tử canvas dùng để chèn một hình ảnh đồ họa vào
tài liệu HTML, những hình vẽ này được vẽ bằng
Javascript, và nó thường được sử dụng để thiết kế
game HTML.
THUỘC TÍNH CỦA PHẦN TỬ
CÁC THUỘC TÍNH CƠ BẢN CỦA HTML
Các thuộc tính cơ bản của HTML được áp dụng cho hầu hết tất cả
các phần tử HTML:
- Thuộc tính cốt lõi: Áp dụng cho hầu hết các phần tử
class Chỉ định một hoặc nhiều classname cho phần tử,
nó được sử dụng nhiều trong CSS hay jQuery.
id Chỉ định một id duy nhất cho phần tử.
style Chỉ định thuộc tính CSS áp dụng cho phần tử.
title Chỉ định thông tin thêm về phần tử.
data-*, item-* Các thuộc tính xây dựng metadata dữ liệu
- Thuộc tính ngôn ngữ: Áp dụng cho hầu hết các phần tử:
dir Chỉ định hướng hiển thị văn bản cho phần tử. Có
các giá trị: ltr: phải qua trái; rtl: trái qua phải.
lang Chỉ định ngôn ngữ hiển thị nội dung phần tử.
xml:lang Chỉ định ngôn ngữ hiển thị nội dung phần tử (đối
với tài liệu XHTML).
- Thuộc tính bàn phím:
accesskey Chỉ định một phím tắt để kích hoạt, tiêu điểm vào
phần tử.
tabindex Chỉ định thứ tự tab vào một phần tử.
THUỘC TÍNH SỰ KIỆN
Khi một người dùng truy cập vào trang web của bạn, họ có thể
làm một số việc như nhấp chuột vào văn bản, hình ảnh, liên kết hay
di chuyển qua đối tượng... Đây là những ví dụ mà JavaScript gọi là
sự kiện.
Chúng ta có thể viết trình sử lý sự kiện bằng ngôn ngữ JavaScript
và chúng ta chỉ định xử lý sự kiện này như những thuộc tính.
Sự kiện Window: sự kiện kích hoạt cho đối tượng window (áp dụng
cho thẻ body).
onafterprint Kịch bản được chạy sau khi tài liệu được in
onbeforeprint Kịch bản được chạy trước khi tài liệu được in
onbeforeonload Kịch bản được chạy trước khi tải tài liệu
onblur Kịch bản được chạy khi cửa sổ mất tiêu điểm.
onerror Kịch bản được chạy khi có lỗi xảy ra.
onfocus Kịch bản được chạy khi cửa sổ nhận
tiêu điểm.
onhaschange Kịch bản được chạy khi thay đổi tài liệu.
onload Kịch bản được chạy khi tài liệu được tải.
onmessage Kịch bản được kích hoạt khi tin nhắn được kích hoạt.
onoffline Kịch bản được chạy khi tài liệu offline.
ononline Kịch bản được chạy khi tài liệu trở thành online.
onpagehide Kịch bản được chạy khi cửa sổ ẩn.
onpageshow Kịch bản được chạy khi cửa sổ được viếng thăm.
onpopstate Kịch bản được chạy khi lịch sử cửa sổ thay đổi.
onredo Kịch bản được chạy khi quay lại một tài liệu.
onresize Kịch bản được chạy khi thay đổi kích cỡ cửa sổ.
onstorage Kịch bản được chạy khi khu lưu trữ web được cập
nhật.
onundo Kịch bản được chạy khi quay lại một tài liệu.
onunload Kịch bản được chạy khi người dùng rời khỏi
tài liệu.
Sự kiện form: Sự kiện được kích hoạt khi ta tác động vào một form
HTML
onblur Kịch bản được chạy khi phần tử mất tiêu điểm.
onchange Kịch bản được chạy khi thay đổi phần tử.
oncontextmenu Kịch bản được chạy khi kích hoạt một trình đơn.
onfocus Kịch bản được thực hiện khi phần tử nhận được tiêu điểm
onformchange Kịch bản được thực hiện khi thay đổi trong form
onforminput Kịch bản được thực hiện khi truyền dữ liệu vào form.
oninput Kịch bản được chạy khi truyền dữ liệu vào phần tử.
oninvalid Kịch bản được chạy khi một phần từ không hợp lệ.
onselect Kịch bản được chạy khi một phần tử được chọn.
onsubmit Kịch bản được chạy khi biểu mẫu được gửi.
Sự kiện bàn phím: là sực kiện được kích hoạt khi ta sử dụng
bàn phím.
onkeydown Kịch bản được chạy khi một phím được nhấn xuống.
onkeypress Kịch bản được thực hiện khi một phím được nhấn
xuống và thả ra.
onkeyup Kịch bản được thực hiện khi một phím được thả ra.
Sự kiện chuột: là sự kiện được thực hiện được gây ra bởi chuột.
onclick Kịch bản được chạy khi click chuột.
ondblclick Kịch bản được chạy khi click đúp chuột.
ondrag Kịch bản được chạy khi một phần tử được kéo.
ondragend Kịch bản được chạy ở cuối hành động kéo.
ondragenter Kịch bản được chạy khi một phần tử đã được kéo
đến một mục tiêu thả hợp lệ.
ondragleave Kịch bản được chạy khi một phần tử được di
chuyển đến một mục tiêu hợp lệ.
ondragover Kịch bản được chạy khi một phần tử kéo ra bênn
ngoài mục tiêu hợp lệ.
ondragstart Kịch bản được chạy khi bắt đầu kéo.
ondrop Kịch bản được chạy khi một phần tử được thôi kéo.
onmousedown Kịch bản được chạy khi một nút chuột được nhấn.
onmousemove Kịch bản được chạy khi con trỏ chuột di chuyển.
onmouseout Kịch bản được chạy khi con trỏ chuột di chuyển ra khỏi
một phần tử
onmouseover Kịch bản được chạy khi con trỏ chuột di chuyển
trên phần tử.
onmouseup Kich bản được thực hiện khi ta nhả chuột.
onmousewheel Kịch bản được chayj khi chuột đang di chuyển.
onscroll Kịch bản được chạy khi thao tác với thanh cuộn.
Sự kiện media: được xảy ra khi ta kích hoạt các loại đa phương tiện
như video, hình ảnh, âm thanh, đối tượng...
onabort Kịch bản được chạy khi hủy bỏ.
oncanplay Kịch bản được chạy khi một tập tin đã sẵn sàng
để bắt đầu chơi.
oncanplaythrough Kịch bản được chạy khi một tập tin cáo thể chơi
hết đến cuối dừng mà không cần bấm dừng.
ondurationchange Kịch bản được chạy khi thay đổi chiều dài của media.
onemptied Kịch bản được chạy khi có một trường hợp xấu xảy ra và
tập tin bất ngờ biến mất (như mmất kết nối).
onended Kịch bản được chạy khi media chạy đến chỗ kết thúc
(như xuất mẩu tin thông báo cảm ơn vì đã lắng nghe.)
onerror Kịch bản được chạy khi có một lỗi xảy ra khi tập tin được tải.
onloadeddata Kịch bản xảy ra khi media đã được tải.
onloadedmetadata Kịch bản được chạy khi dữ liệu meta (như kích
thước, thời gian) được tải.
onloadstart Kịch bản được chạy như là tập tin bắt đầu load
trước khi hoàn thành.
onpause Kịch bản được chạy khi media tạm dừng do người
sử dụng hay do lập trình.
onplay Kịch bản được chạy khi media đã sẵn sàng để bắt đầu chơi.
onplaying Kịch bannr được chạy khi media đã thực sự bắt đầu chơi.
onprogress Kịch bản được chạy khi trình duyệt nhận dữ liệu media.
onratechange Kịch bản được chạy mỗi lần thay đổi tỷ lệ phát
(chạy nhanh hay chậm hơn).
onreadystatechange Kịch bản được chạy mỗi lần thay đổi trạng thái sẵn sàng.
onseeked Kịch bản được chạy khi các thuộc tính tìm kiếm được
thiết lập là sai để chỉ ra rằng tìm kiếm đã kết thúc.
onseeking Kịch bản chạy khi thuộc tính tìm kiếm là hoạt động
là truevà khi việc tìm kiếm hoạt động.
onstalled Kịch bản được chạy khi trình duyệt không thể
nhận dữ liệu từ media vì một lý do nào đó.
onsuspend Kịch bản được chạy khi lấy dữ liệu mediađược
dừng lại trước khi nó được nạp hoàn toàn vì lý do
nào đó.
ontimeupdate Kịch bản được chạy khi vị trí chơi thay đổi (khi
người dùng muốn chơi ở đoạn sau hay chạy lại
đoạn trước).
onvolumechange Kịch bản được chạy khi âm thanh thay đổi (bao
gồm cả việc tắt tiếng).
onwaiting Kịch bản được chạy khi media tạm dừng nhưng sẽ tiếp
tục săp tới (như tạm dừng để tải thêm dữ liệu).
CSS (Cascading Style Sheets): là ngôn ngữ định kiểu xếp tầng, qui định qui tắc định
dạng, hiển thị nội dung của các phần tử trong tài liệu HTML.
Nội dung tập tin index.html
Ví dụ CSS
p{
font-size: 14px; font-weight:bold;
font-family: Arial;
}
Nội dung văn bản
Bộ định kiểu bên trong:
CSS được viết tách ra
trong nội dung thẻ
của tập tin HTML, nhằm
áp dụng cho nhiều phần
tử khác cùng loại, và đảm
bảo nội dung HTML gọn
nhẹ hơn.
ĐẠI CƯƠNG VỀ CSS
div { color: red; border:1px solid #ccc; }
Bộ chọn: tên phần tử áp dụng
bộ định kiểu, nếu có nhiều
phần tử áp dụng chung một bộ
định kiểu thì giữa chúng phân
cách nhau bởi dấu phẩy (,)
Bộ định kiểu: là danh sách cách thuộc tính, định kiểu hiển thị
cho danh sách bộ chọn
Định kiểu 1
Định kiểu 2
Thuộc tính 1
Thuộc tính 2
Giá trị 1
Giá trị 2
Nội dung tập tin style.css
p{
float: left; padding:5px;
border: 1px solid #ccc;
}
Định dạng mặc định
của trình duyệt
p {
display: block;
-webkit-margin-before: 1em;
-webkit-margin-after: 1em;
-webkit-margin-start: 0px;
-webkit-margin-end: 0px;
}
Bộ định kiểu
bên ngoài: CSS
được viết tách ra
thành tập tin riêng
(đuôi css) và được
gọi vào trong tập tin
HTML.
Bộ định kiểu
nội tuyền: CSS được
viết trong thuộc tính
style của phần tử
HTML, nhằm chỉ áp
dụng bộ định kiểu cho
phần tử này.
3
4
2 1
Quy tắc @media được sử dụng để xác định cách thức hiển thị khác nhau trên các kiểu phương tiện hoặc thiết bị khác nhau.
@media not|only and () { Nội dung CSS }
Danh sách mediatype
(kiểu phương tiện)
- all : tất cả thiết bị.
- print : hiển thị trên máy in
- screen: hiển thị trên máy
tính, máy tính bảng hay điện
thoại thông minh.
- speech: hiển thị trên các màn
hình đọc.
Danh sách mediafeature (tính năng phương tiện)
- Tỷ lệ giữa chiều rộng và chiều cao của chế độ xem
aspect-ratio max-aspect-ratio min-aspect-ratio
- Tỷ lệ giữa chiều rộng và chiều cao của thiết bị
device-aspect-ratio max-device-aspect-ratio min-device-aspect-ratio
- Số bit cho mỗi thành phần màu ở hiển thị thiết bị đầu ra
color max-color min-color
- Lượng màu mà thiết bị có thể hiển thị
color-index max-color-index min-color-index
- Chiều rộng hoặc chiều cao của thiết bị
device-width max-device-width min-device-width
device-height max-device-height min-device-height
- Chiều rộng hoặc chiều cao của chế độ xem
width max-width min-width
height max-height min-height
du
Ví dụ 1: thẻ h1 dưới đây hiển thị màu đỏ trên tất
cả các thiết bị.
@media all{
h1{color:red;}
}
Nội dung văn bản
Ví dụ 2: thẻ h1 dưới đây hiển thị màu đỏ nếu chiều
rộng khung nhìn lớn hơn hoặc bằng 1200px
@media (min-width:1200px){
h1{color:red;}
}
Nội dung văn bản
Lưu ý quan trọng: việc chia khung
bố cục giao diện trong thư viện css
của boostrap để xây dựng giao diện
responsive được xây dựng dựa
trên cơ chế này.
Hiện tại, trong phiên bản CSS3, một số thuộc tính của CSS được áp dụng
kèm theo tiền tố phân biệt trình duyệt:
-ms- : trình duyệt IE.
-moz- : trình duyệt Firefox.
-webkit-: hiển trình duyệt Chrome, Opera, Safari...
Lưu ý: nếu bạn đặt !important sau mỗi định kiểu, trình
duyệt sẽ ưu tiên hiển thị theo định kiểu này trước tiên chứ
không theo trình tự như trên.
Giả lớp và giả phần tử được sử dụng để xác định cách thức hiển thị khác nhau cho một phần tử hoặc một phần của phần tử HTML
: { Bộ định kiểu CSS }
Bộ chọn kết hợp Giả phần tử
- after : chèn thêm nội dung vào cuối phần tử được chọn.
- before : chèn thêm nội dung vào cuối phần tử được chọn.
Hai giả lớp trên thường được sử dụng với thuộc tính
content của CSS. Ứng dụng này thường được sử dụng để thêm
các icon vào đầu nội dung phần tử như sử dụng biểu tượng
Glyphicons hay font-awesome trong thư viện boostrap.
- first-letter : chọn ký tự đầu tiên của một chữ trong
phần tử.
- first-line : chọn dòng văn bản đầu tiên của phần tử
khi hiển thị ra màn hình.
- selection : chọn những ký tự trong phần tử được ta
lựa chọn (như bôi đen đoạn văn bản)
Bộ chọn kết hợp Giả lớp
- Thường gặp với thẻ
a:active : chọn một liên kết hoạt động
a:hover : chọn phần tử khi di chuột qua.
a:link : chọn tất cả liên kết khi chưa hoạt động
a:visited : chọn tất cả các liên kết đã viếng thăm.
a:target : chọn phần tử đang hoạt động
- Thường gặp với thẻ
input:checked input:forcus
input:disabled input:enabled
input:in-range input:out-of-range
input:invalid input:valid
input:optional input:required
input:read-only input:read-write
- Theo vị trí phần tử trong phần tử cha mẹ của chúng
first-child first-of-type
last-child last-of-type
only-child only-of-type
nth-child(n) nth-of-type(n)
nth-last-child(n) nth-last-of-type(n)
Bộ chọn
- * áp dụng cho tất cả các phần tử HTML
trong tài liệu.
- .class áp dụng cho các phần tử HTML có
thuộc tính class=“class”.
- #id áp dụng cho các phần tử HTML có
thuộc tính id=“id”.
- div áp dụng cho các thẻ div.
- div p áp dụng cho các phần tử p ở trong
phần tử div.
- div>p áp dụng cho các phần tử p là phần tử
con trực tiếp của phần tử div.
- div+p áp dụng cho các phần tử p ở ngay sau
phần tử div
- div~p áp dụng cho các phần tử p nằm sau
phần tử div
- [attr=value] áp dụng cho các phần tử có
thuộc tính attr=“value”
Ví dụ minh họa bộ chọn class
(thuộc tính class của một phần tử HTML
dùng để phân loại một nhóm phần tử
có chung đặc điểm CSS)
.red{
font-size: 14px; font-weight:bold;
font-family: Arial;
}
Nội dung văn bản
Ví dụ minh họa bộ chọn id
(thuộc tính id của một phần tử HTML
dùng để định danh một phần tử HTML
riêng biệt)
#red{
font-size: 14px; font-weight:bold;
font-family: Arial;
}
Nội dung văn bản
Ví dụ minh họa bộ chọn phần tử
p{
font-size: 14px; font-weight:bold;
font-family: Arial;
}
Nội dung văn bản
Ví dụ minh họa bộ chọn phần tử
con ở trong phần tử cha
div p{
font-size: 14px; font-weight:bold;
font-family: Arial;
}
Nội dung văn bản
Giá trị của các thuộc tính CSS
Đơn vị đo chiều dài
- Đơn vị đo chiều dài tuyệt đối:
cm – 1 cm trong đơn vị đo thước kẻ
1mm = 1/1000 cm 1in = 2,54 cm
1px = 1/96 in 1pt = 1/72 in 1pc = 12 pt
- Đơn vị đo chiều dài tương đối:
em (rem) so với font của phần tử (phần tử gốc).
vw (vh) tương ứng 1% chiều rộng (chiều cao) khung nhìn.
ex so với chiều cao font hiện tại.
ch so với 0.
vmin (vmax) tương ứng 1% nhỏ hơn (lớn hơn) màn hình.
% so với kích thước phần tử cha của chúng.
Màu sắc
- Giá trị màu theo tên tiếng Anh (ví dụ: blue).
- Giá trị thập lục phân (dạng #RRGGBB), với mỗi giá
trị trong khoảng 00 đền FF hệ thập lục phân.
- Giá trị RGB (dạng rgb(đỏ, lục, lam)), với mỗi giá trị
trong khoảng 0 đến 255 hệ thập phân. Giá trị RGBA
(dạng rgba(đỏ, lục, lam, độ mờ)), với các giá trị màu
trong khoảng 0 đến 255 hệ thập phân, độ mờ nhận
giá trị từ 0 đến 1.
- Giá trị HSL (dạng hsl(độ sắc, độ rộng, độ nhạt))
với độ sắc từ 0 – 360, động bao phủ và độ nhạt nhận
giá trị từ 0 đến 1. Giá trị HSLA (dạng hsla(độ sắc, độ
rộng, độ nhạt, độ mờ))
Đường nét
Vị trí
left right center justify
top bottom middle both none
Hình ảnh url(“URL Hình ảnh”)
Font chữ, kiểu chữ
Công thức hàm
- Hàm attr(“tên thuộc tính”): trả về giá trị của
thuộc tính với tên thuộc tính được chỉ định.
- Hàm calc(biểu thức): hàm này sử dụng các công
thức +, -, *, / để trả về giá trị thường để tính chiều
rộng, chiều cao phần tử, từ giá trị tương đối với giá
trị tuyệt đối.
- Các hàm tính toán dải màu trong CSS:
linear-gradient() repeating-linear-gradient()
radial-gradient() repeating-radial-gradient()
Khu vực
viết nội dung
margin: khoảng cách từ viền phần
tử này đến các phần tử bên cạnh
outline: đường bao quanh phía
ngoài đường viền. Như vậy đường
outline ở vị trí chồng lấn lên vùng
margin. Đường outline sẽ hiển thị
đè lên phía trên các phần tử khác
nếu chúng chồng lấn lên nhau.
border: đường viền
bao quanh phần tử.
padding: khoảng cách từ đường
viền đến vùng nội dung bên trong
phần tử.
Thanh cuộn: trong trường hợp
sử dụng thuộc tính overflow:
scroll; thì vị trí thanh cuộn nằm
sát vị trí đường viền phía dưới, và
bên phải chồng lấn lên vùng
padding. Vùng nội dung bên trong
phần tử nhỏ đi một chút.
margin-top (không áp dụng cho
phần tử nội tuyến)
margin-bottom (không áp
dụng cho phần tử nội tuyến)
padding-top
padding-bottom
margin-left
margin
-right
padding
-left
padding
-right
border-top-left-radius
border-top-right-radius
border-bottom-left-radius
width: chiều rộng phần tử. Đối với phần tử nội tuyến, chiều rộng luôn là auto.
Mặc định thuộc tính box-sizing nhận giá trị content-box, chiều rộng phần tử bằng
chiều rộng khu vực viết nội dung; khi giá trị thuộc tính box-sizing nhận giá trị border-
box thì chiều rộng phần tử bao gồm thêm cả phần border, padding.
min-width: chiều rộng tối thiểu
max-width: chiều rộng tối đa
height: chiều cao phần tử. Đối với phần tử nội tuyến,
chiều cao luôn là auto.
Mặc định thuộc tính box-sizing nhận giá trị content-
box, chiều cao phần tử bằng chiều cao khu vực viết
nội dung; khi giá trị thuộc tính box-sizing nhận giá trị
border-box thì chiều cao phần tử bao gồm thêm cả
phần border, padding.
min-height: chiều cao tối thiểu
max-height: chiều cao tối đa
border-bottom-right-radius
border-radius: tạo đường
viền cong bo ở 4 góc.
top: khoảng cách
phía trên
top: khoảng cách
phía trên
bottom: khoảng
cách phía dưới
bottom: khoảng
cách phía dưới
left: khoảng cách
phía trái
left: khoảng cách
phía trái
right: khoảng cách
phía phải
right: khoảng cách
phía phải
position: xác định vị trí. Với các giá trị:
- relative: vị trí tương đối so với góc trên,
bên trái của phần tử cụ thể.
- absolute: vị trí tuyệt đối so với 4 góc của
phần tử cha ở vị trí tương đối.
- fixed: vị trí cố định so với 4 góc của
trình duyệt.
Tùy vào giá trị của các cặp thuộc tính
left, right, top, bottom để xác định góc
vị trí phần tử cha. Riêng đối với vị trí tương
đối thì tham chiếu đến góc trên, bên trái.
Đối với phần tử áp dụng tuyệt đối,
cố định; phần tử luôn được chuyển sang
phần tử khối.
Trong trường hợp nhiều phần tử được
đặt chồng lên nhau, thuộc tính z-index
được sử dụng để sắp xếp thứ tự hiển thị.
border-top
border-bottom
border
-left
border
-right
Đối với thuộc tính margin, padding ta có thể đặt
kích thước độ dày theo 4 cách:
margin: {top-right-bottom-left};
hoặc margin: {top-bottom} {left-right};
hoặc margin: {top} {right} {bottom} {left};
hoặc tách riêng thành 4 thuộc tính.
Đối với các thuộc tính border, outline bắt buộc
phải khai báo width, style, color theo cú pháp:
border: {width} {style} {color};
outline: {width} {style} {color};
hoặc tách riêng ra thành 3 thuộc tính riêng.
Giá trị của style có thể là:
none : bình thường
hidden : ẩn đường viền
dotter : đường viền chấm
dashed : viền nét đứt
solid : viền nét liền
double : viền nét đôi
groove : bóng 3D đậm dần
ridge : bóng 3D nhạt dần
inset : bóng 3D nhạt chìm
outset : bóng 3D đậm nổi
Đặt ảnh nền cho đường viền: tùy thuộc vào bộ
chọn trình duyệt và tên thuộc tính có cú pháp:
border-image: {source} {slice} {width} {repeat};
hoặc có thể tách riêng thành từng thuộc tính.
ĐỊNH DẠNG
KHỐI PHẦN TỬ
float: left|right|none; cho phép phần tử
khác tiếp nối bên trái hay bên phải nó.
clear: left|right|both; không cho phép
phần tử khác tiếp nối bên trái, bên phải, hay
cả 2 bên nó.
display đặt chế độ hiển thị của phần tử
thuộc dạng khối, bảng, dòng hay không
hiển thị.
visibility đặt chế độ ẩn, hiện nội dung phần
tử. Lưu ý, khi bạn đặt ở chế độ ẩn, chỉ phần
nội dung phần tử bị ẩn còn phần tử vẫn
hiển thị.
line-height: chiều cao
của dòng văn bản
letter-spacing:
khoảng cách các
ký tự trong từ
word-spacing:
khoảng cách các
từ trong văn bản
text-indent:
khoảng cách dòng
đầu tiên của khối
văn bản với lề trái
font-size: chiều cao
của ký tự trong văn bản
text-align: left;
canh lề trái
text-align: center;
canh lề giữa
text-align: right;
canh lề phải
text-align: justify;
canh lề đều 2 bên
color: black;
Màu sắc chữ
-webkit-text-fill-color: red;
Màu sắc than chữ
-webkit-text-stroke-color: blue;
Màu sắc viền chữ
-webkit-text-stroke-width: 5px;
Độ dày đường viền chữ
text-shadow: 5px 5px 5px #ccc;
Tạo vùng bóng đổ của chữ
font-family: Times New Roman;
Phông chữ
font-weight:bold;
Độ đậm của chữ
font-variant: small-caps;
Định dạng ký tự đầu tiên của đoạn
@font-face{
font-family: “LeagueGothic”;
src:url(LeagueGothic.otf);
}
Đặt thêm font vào cho trang web.
vertical-align: canh vị trí ký tự theo chiều dọc
baseline
bottom
top
sub
super
middle
text-top
text-bottom
font-style: định dạng kiểu hiển thị văn bản
normal italic oblique
text-decoration: đường ngang qua văn bản
overline line-throught underline
text-transform: chuyển đổi chữ hoa và chữ thường
lowercase uppercase lowercase
Văn bản
Văn bản
direction: ltr;
Hướng từ trái qua
direction: rtl;
Hướng từ phải qua
ĐỊNH DẠNG
VĂN BẢN
ĐỊNH DẠNG DANH SÁCH – BẢNG – CHIA CỘT BÁO
Định dạng mục
trong danh sách:
list-style: {type} {position} {image};
Trong đó có thể tách riêng thành từng thuộc tính:
- list-style-type: xác định kiểu ký tự đánh dấu ở đầu mỗi mục
danh sách.
- list-style-position: xác định vị trí của ký tự đánh dấu trong
mỗi mục với các giá trị:
+ inside: nằm trong dòng tiêu đề mục.
+ outside: ngoài dòng tiêu đề mục
- list-style-image: lấy một hình ảnh thay cho ký tự đánh dấu ở
đầu mỗi mục.
Mục 1
Mục 2
Mục 3
Định dạng bảng:
table-layout Xác định cách hiển thị dòng, cột, ô trong
bảng
• auto : tự động.
• fixed : cố định.
border-
collapse
Xác định đường biên của bảng là viền đơn
hay viền tách biệt như lúc mặc định ban đầu.
• collapse : viền đơn.
• separate : viền tách biệt.
Chia cột báo
column-width
Độ rộng cột
nội dung
column-gap
Khoảng cách giữa
các cột nội dung
column-rule:
{width} {style} {color};
Đường phân cách giữa
các cột nội dung
column-count
Số cột mà một phần tử chia ra
ĐỊNH DẠNG NỀN
background Định dạng nền:
background: color position size repeat
origin clip attachment image;
background-
color
Đặt màu nền cho khối.
Ví dụ: background-color:#FFOOFF;
background-
image
Đặt ảnh nền cho khối.
Ví dụ: background-image:url(“banner.jpg”);
background-
repeat
Đặt chế độ có hay không việc lặp lại ảnh nền.
• no-repeat : không cho phép lặp lại ảnh nền.
• repeat : lặp lại ảnh nền theo chiều dọc và
chiều ngang.
• repeat-x : lặp ảnh nền theo chiều ngang.
• repeat-y : lặp ảnh nền theo chiều dọc.
background-
attachment
Đặt chế độ cố định hay di chuyển ảnh nền.
• fixed : cố định ảnh nền.
• scroll : ảnh nền di chuyển theo thanh cuộn.
background-
position
Đặt vị trí ảnh nền so với góc trái phần tử.
Ví dụ: background-position: 10px 10px;
background-
clip
Xác định cụ thể khu vực đặt ảnh nền. Nó có thể
nhận các giá trị:
• border-box : nền được gài vào hộp biên.
• padding-box : nền được gài vào hộp đệm.
• content-box : nền được gài vào nội dung.
background-
origin
Xác định nguồn gốc nền khi vị trí tương đối.
Nó có thể nhận giá trị:
• border-box : nền được gài vào hộp biên.
• padding-box : nền được gài vào hộp đệm.
• content-box : nền được vào hộp nội dung.
background-
size
Xác định kích cỡ của hình nền ngang và dọc.
Ví dụ: background-size:80px 60px;
ĐỊNH DẠNG HOẠT HỌA
animation: Hiệu ứng hoạt họa được trình diễn tùy thuộc vào mỗi
trình duyệt. Ta có các tùy chọn hỗ trợ trong từng trình duyệt:
- Tộc độ hiệu ứng: gồm các thuộc tính. Cú pháp: tùy chọn trình
duyệt và thuộc tính tốc độ hiệu ứng không có dấu cách.
• animation-name: tên hiệu ứng. Nếu không đặt sẽ không xảy ra
hiệu ứng.
• animation-duration: thời gian xảy ra hiệu ứng tính theo miligiây
hoặc giây. Mặc định là 0.
• animation-timing-duration: tốc độ diễn ra hiệu ứng. Gồm một
số giá trị: linear (chạy từ từ), ease (khởi đầu chậm rồi nhanh dần
và kết thúc từ từ. Đây là giá trị mặc định), ease-in (khởi đầu
chậm), ease-out (kết thúc chậm), ease-in-out (khở đầu và kết thúc
chậm), cubic-bezier (xác định hiệu ứng trong khoảng từ 0 đến 1).
• animation-delay: thời điểm hình ảnh bắt đầu một hiệu ứng mới
tính theo đơn vị giây và mili giây.(mặc định là 0).
• animation-interation-count: số lần xảy ra hiệu ứng nhận giá trị
là số lần hoặc infinite (vô hạn), giá trị mặc định là 1 lần.
• animation-direction: có đảo chiều chuyển động không, mặc
định là 0, đặt giá trị bằng alternate để quay ngược lại.
• animation: là một tập hợp các hiệu ứng trên.
• animation-play-state: để chọn paused (dừng hiệu ứng), running
(chạy hiệu ứng).
- Cách thức thay đổi hiệu ứng có cú pháp:
@ tùy_chọn_trình_duyệt keyframes tên_hiệu_ứng {
tỉ_lệ_%_của_hiệu_ứng {kiểu_mã_css_cần_thay_đổi;}
}
Lưu ý: @ tùy_chọn_trình_duyệt keyframes tên_hiệu_ứng không
có dấu cách.
ĐỊNH DẠNG THAY ĐỔI
transition Dùng để thay đổi thuộc tính đã được khai báo từ trước
để tạo ra các hiệu ứng động.
- Hiệu ứng này tùy thuộc vào từng trình duyệt với các tùy
chọn đã nêu ở trên.
- Các thuộc tính: có cú pháp:
tùy_chọn_trình_duyệt tên_thuộc_tính: giá trị;
Lưu ý: không có dấu cách giữa tùy chọn trình duyệt và
tên thuộc tính. ta còn có một số thuộc tính nhỏ khác như:
• transition-property: tên thuộc tính cần thay đổi giá trị.
Nó có thể nhận các giá trị như: none (không có thay đổi),
all (tất cả các thuộc tính. Mặc định), hoặc danh sách các
phần tử (từ hai trở nên được cách nhau bởi dấu phẩy).
• transition-duration: xác định số mili giây để hoàn
thành việc thay đổi thuộc tính.
• transition-timing-function: tốc độ thay đổi của hiệu
ứng.
• transition-delay: khoảng cách giữa hai lần thay đổi
thuộc tính.
• transition: tập hợp của 4 thuộc tính trên.
transform Dùng để thay đổi hiệu ứng 2D/3D
ĐẠI CƯƠNG VỀ JAVASCRIPT
Javascript là một ngôn ngữ kịch bản phía máy khách, nhằm tăng cường tính tương tác cho trang web;
thường được sử dụng để thay đổi nội dung từng phần trên trang, hay bắt các sự kiện như trong quá
trình tải trang, kích hoạt các nút, hay kiểm tra biểu mẫu trước khi nó được gửi về phía máy chủ.
Nội dung tập tin index.html
Xin chào Javascript>
// In nội dung Xin chào các bạn
document.write("Xin chào các bạn.");
Ví trí đặt đoạn mã Javascript vào tài liệu HTML
Đoạn mã Js có thể được đặt trong nội dung phần tử
script của tài liệu HTML, hoặc có thể được đặt trong
tập tin .js rồi được gọi vào trong tài liệu HTML thông
qua thuộc tính src của phần tử script.
Bạn nên viết nội dung js ra tập tin js bên ngoài, và
được gọi vào tập tin HTML bằng thẻ script được tải
không đồng bộ cùng tài liệu HTML (nếu có thể) bằng
cách sử dụng thuộc tính async để đảm bảo trang
HTML được tải nhanh hơn.
Phần tử script nên đặt ở trước thẻ body đóng của
tài liệu HTML (nếu có thể).
Câu lệnh
Dấu chấm phẩy (;) được sử dụng sau mỗi câu lệnh,
trong trường hợp các câu lệnh được viết trên nhiều
dòng thì không nhất thiết ta phải dùng dấu châm phẩy
sau mỗi câu lệnh.
Bạn nên đặt tất cả các câu lệnh js trên một dòng để
tiết kiệm dung lượng khi tải trang web.
Khối mã lệnh
Trong một số trường hợp, một số câu lệnh được tách
ra thành từng khối (điều kiện, vòng lặp, hàm) thì
chúng được đặt trong cặp dấu đóng mở ngoặc xoắn ({
và }), nếu trong khối lệnh chỉ có một câu lệnh thì
không nhất thiết phải sử dụng cặp dấu này bao
quanh.
Định danh
Tên biến, hàm, phương thức, thuộc tính, đối tượng
trong Javascript được bắt đầu bằng một chữ cái hoặc
dâu gạch dưới (_); có phân biệt chữ hoa, chữ thường
và không được trùng với từ khóa.
Danh sách các từ khóa trong Javascript: abstract,
boolean, break, byte, case, catch, char, class,
const, continue, debugger, default, delete, do,
double, else, enum, export, extends, false, final,
finally, float, for, function, goto, if, implements,
import, in, instanceof, int, interface, long, native,
new, null, package, private, protected, public,
return, short, static, super, switch, synchronized,
this, throw, throws, transient, true, try, typeof, var,
void, volatile, while, with.
Chú thích
- Chú thích ở cuối một dòng hay cả dòng, ta dùng dấu
// phía trước nội dung chú thích.
- Chú thích trên nhiều dòng liên tiếp, hay chỉ một đoạn
ở giữa dòng, ta dùng cặt dấu /* và */ trước và sau nội
dung chú thích tương ứng.
Hiển thị các ký tự đặc biệt
\’ dấu nháy đơn \” dấu nháy kép
\\ dấu gạch chéo ngược \n xuống dòng mới
\r dấu trở lại \t dấu tab
\b dấu cách \f dấu feed
Nội dung tập tin scripts.js
alert(“Mai Đức Thạch pro”);
BIẾN TRONG JAVASCRIPT
Biến trong Javascript là những cái tên được ta dùng để đặt tên cho những giá trị hay giá trị của biểu
thức, để tiện dùng trong các thao tác tính toán. Căn cứ vào phạm vi hoạt động của một biến, ta có thể
phân chia biến thành 2 loại:
Kiểu dữ liệu của biến: tất cả các biến trong Javascript đều là những đối tượng. Do đó, mỗi khi ta tạo
ra một biến, mặc định, ta đã tạo ra một đối tượng.
var string = “Mai Đức Thạch”; var age = 28; var male = true;
var work = {name: “Lập trình”, year: 2}; var lang = [ “PHP”, “.Net”, “Java”];
Biến cục bộ
- Biến cục bộ là biến được khai báo trong
phạm vi của một hàm và chỉ hoạt động trong
phạm vi hàm đó.
- Bạn có thể dùng các biến cục bộ cùng tên
trong các hàm khác nhau bởi vì các biến cục
bộ chỉ có tác dụng trong phạm vi của hàm đó
và nó sẽ không tồn tại khi ra khỏi hàm.
- Biến trong javascript được khai báo bắt đầu
bằng từ khóa var:
var string = “Webnadi Việt Nam”;
var role;
Biến toàn cục
- Biến toàn cục là biến được khai báo bên
ngoài một hàm, và tất cả các kịch bản và hàm
trên trang web đều có thể truy cập nó.
- Biến toàn cục được mất đi sau khi ta đóng
trang.
- Tất cả các biến trong Javascript, không được
khai báo bằng từ khóa var, mà được gán giá
trị đều là những biến toàn cục.
Kiểu chuỗi Kiểu số Kiểu logic
Kiểu đối tượng Kiểu mảng
TOÁN TỬ TRONG JAVASCRIPT
Toán tử số học: thao tác với hai số hay biểu
thức số, trả về giá trị kiểu số.
Cộng (+), trừ (-), nhân (*), chia (/), lấy số dư
(%), thêm 1 giá trị (++), bớt một giá trị (--)
Đối với chuỗi, toán tử (+) dùng để ghép 2
chuỗi vào cạnh nhau.
Toán tử so sánh: so sánh giá trị của 2 số hay
biểu thức số, trả về giá trị kiểu logic.
Bằng (=), khác (!=), lớn hơn (>), nhỏ hơn (<),
lớn hơn hoắc bằng (>=), nhỏ hơn hoặc bằng
(<=).
Toán tử logic: thao tác với hai toán hạng
logic, hoặc biểu thức logic, trả về giá trị logic.
cùng đúng (&&), một hoặc cả hai cùng đúng
(||), phủ định toán hạng (! true).
Toán tử nhị phân: thao tác với hai toán hạng
nhị phân, hoặc biểu thức nhị phân, trả về giá
trị nhị phân.
và (&), hoặc (|), hoặc loại trừ (^) đảo bit (~),
dịch bit (>)
Toán tử gán: lấy toán hạng bên trái thao tác
với toán hạng bên phải rồi gán lại giá trị cho
toán hạng bên trái.
+=, -=, *=, /=, %=
Toán tử so sánh:
var a = true ? “Giá trị true” : “Giá trị false”;
kết quả a nhận giá trị là “Giá trị true”
Toán tử typeof: trả về kiểu của toán hạng.
typeof string; // trả về “string”
typeof age; // trả về “number”
typeof male; // trả về “boolean”
ĐIỀU KIỆN RẼ NHÁNH
1. Khối lệnh if(điều kiện){true}else{false}
cho phép kiểm tra điều kiện để thực thi các
khối lệnh tương ứng với nó.
Ví dụ: đoạn mã kiểm tra số chẵn hay số lẻ.
var a = 100;
if(a%2==0){
alert(“Đây là số chẵn”);
}else{
alert(“Đây là số lẻ”);
}
2. Khối lệnh switch(biểu thức){} cho phép
so sánh giá trị biểu thức với từng trường
hợp cụ thể để xác định khối mã lệnh thực
hiện.
Ví dụ: đoạn mã kiểm tra số dư của phép
chia một số cho 4.
var a = 100, b;
switch(a%4){
case 0: b = 0; break;
case 1: b = 1; break;
case 2: b = 2; break;
default: b = 3;
}
alert(“Số dư của phép chia là: ”+b);
VÒNG LẶP
Ví dụ: tính tổng 1+2+3+5+6++10.
Các từ khóa điều khiển vòng lặp:
- Từ khóa break; cho phép dừng việc thực hiện vòng lặp để tiếp tục xuống thực hiện tiếp các câu lệnh phía sau của vòng lặp.
- Từ khóa continue; cho phép dừng thực hiện vòng lặp hiện tại để quay lại kiểm tra điều kiện chuyển sang thực hiện vòng lặp kế tiếp.
Vòng lặp while(điều kiện){} cho phép
thực hiện lặp đi lặp lại một khối mã lệnh
đến khi điều nhận giá trị false.
var a = 1, b = 0;
white(a<=10){
b += a; a++;
}
alert(“Kết quả: ”+b);
Vòng lặp do{}while(điều kiện); cho
phép thực hiện trước lặp đi lặp lại một
khối mã lệnh đến khi điều nhận giá trị
false thì dừng.
var a = 1, b = 0;
do{
b += a; a++;
}
white(a<=10);
alert(“Kết quả: ”+b);
Vòng lặp for(;;){} cho phép thiết lập giá trị
qua mỗi lần thực hiện lặp đi lặp lại một
khối mã lệnh, và nó chỉ dừng lại khi điều
kiện nhận giá trị false.
var b = 0;
for(var a=1; a<=10; a++){
b += a;
}
alert(“Kết quả: ”+b);
Vòng lặp forin cho phép duyệt từng
phần tử trong một đối tượng hay mảng.
var a = [1,2,3,4,5,6,7,8,9,10], i, b;
for(i in a){
b += i;
}
alert(“Kết quả: ”+b);
HÀM
Ví dụ sau đây tính tổng một số từ 0 đến num, minh
họa cho việc tạo ra một hàm đơn giản và sử dụng
chúng.
function Tinhtong(num){
var sum = 0;
for(var x = 0; x <=num; x++){ sum += x; }
return sum;
}
alert(Tinhtong(100));
Hàm cấu trúc:
Ví dụ sau đây tính tích của hai số, minh họa cho việc
sử dụng hàm cấu trúc.
var func = new Function("x", "y", "return x*y;");
function secondFunction(x, y){
return func(x,y);
}
alert(secondFunction(10, 20));
Hàm nặc danh:
Ví dụ sau đây tính tích của hai số, minh họa cho việc
sử dụng hàm nặc danh.
var func = function(x, y)(return x*y;);
function secondFunction(x, y){
return func(x,y);
}
alert(secondFunction(10, 20));
ĐỐI TƯỢNG
Một đối tượng trong JavaScript là một tập các thuộc tính và phương thức.
+ Các thuộc tính là các đặc tính của một đối tượng.
+ Phương thức là các hành động mà đối tượng có thể thực hiện.
JavaScript, ngoài cung cấp những đối tượng dựng sẵn còn cho phép bạn tạo ra các đối tượng (user-
defined object). Các đối tượng dựng sẵn là các đối tượng đã được nghĩa từ trước, do vậy bạn chỉ cần sử
dụng các thuộc tính và phương thức của chúng để hoàn thành bài toán. Một số đối tượng dựng sẵn trong
JavaScript: Array, Date, Math, String
Đối tượng người dùng định nghĩa là do nhà phát triển (developer) sử dụng script để tạo và định nghĩa ra
các phương thức, thuộc tính cho chúng. Có hai phương pháp sau để tạo đối tượng người dùng:
+ Sử dụng đối tượng Object (đối tượng có sẵn) để tạo đối tượng người dùng.
+ Định nghĩa nghĩa một template và cài đặt nó bằng từ khóa new.
Thuộc tính property của đối tượng:
+ Cho phép bạn có thể thêm các thuộc tính mới, phương thức mới cho các đối tượng đã được tạo.
+ Có thể dùng thuộc tính prototype để thêm thuộc tính và phương thức cho đối tượng dựng sẵn.
• Cú pháp thêm một thuộc tính
tên_hàm_khởi_tạo.prototype.tên_thuộc_tính=Giá_trị;
• Cú pháp thêm phương thức
tên_hàm_khởi_tạo.prototype.tên_phương_thức=function(){//thân hàm }
Hoặc:
tên_hàm_khởi_tạo.prototype.tên_phương_thức=tên_hàm ;
Đối tượng người dùng dựng sẵn Đối tượng người dùng tự tạo
// Tạo đối tượng:
var student =new Object();
// Tạo thuộc tính:
student.name = ‘Thạch;
student.age = 28;
// Tạo phương thức:
student.work=function(){
return “Lập trình Web”;
};
// Tạo đối tượng:
function student(name,age){
this.name = name;
this.age = age;
this.work = work;
}
function work(){
return “Lập trình Web”;
}
sv1=new student(“Thạch”, 28);
// Goi thuộc tính và phương thức:
student.name = ‘Thạch;
student.age = 28;
alert(student.work());
// Goi thuộc tính và phương thức:
alert(sv1.name);
alert(sv1.age);
alert(sv1.work());
ĐỐI TƯỢNG String
Mặc định, khi ta khai báo hay khởi tạo một biến chuỗi, ta đã
tạo ra một đối tượng String. Trong Javascript, cung cấp một số
thuộc tính và phương thức thao tác với chuỗi.
length
charAt() charCodeAt() concat()
fromCharCode() indexOf() lastIndexOf()
match() replace() search()
slice() split() substr()
substring() toLowerCase() toUpperCase()
ĐỐI TƯỢNG Number
Mặc định, khi ta khai báo hay khởi tạo một biến số, ta đã tạo
ra một đối tượng Number. Trong Javascript, cung cấp một số
thuộc tính và phương thức thao tác với đối tượng Number.
MAX_VALUE MIN_VALUE NEGATIVE_INFINITY
NaN POSITIVE_INFINITY
toExponential() toFixed() toPrecision()
toString()
ĐỐI TƯỢNG Math
Đối tượng Math là một đối tượng mặc định trong Javascript,
cho phép thực hiện những thao tác tính toán.
Cú pháp để gọi phương thức và thuộc tính của đối tượng Math.
Math.;
Bạn không thể khởi tạo một đối tượng Math bằng từ khóa new.
Trong Javascript, cung cấp một số thuộc tính và phương thức
thao tác với đối tượng Math.
E LN2 LN10
LOG2E LOG10E PI
SQRT1_2 SQRT2
abs() acos() asin()
atan() atan2() ceil()
cos() exp() floor()
log() max() min()
pow() random() round()
sin() sqrt() tan()
toSource()
ĐỐI TƯỢNG Boolean
Mặc định, khi ta khai báo hay khởi tạo một biến logic, ta đã
tạo ra một đối tượng Boolean. Trong Javascript, cung cấp một
số phương thức thao tác với đối tượng Boolean.
toString() valueOf()
ĐỐI TƯỢNG Array
Mặc định, khi ta khai báo hay khởi tạo một biến mảng, ta đã
tạo ra một đối tượng Array. Trong Javascript, cung cấp một số
thuộc tính và phương thức thao tác với đối tượng Array.
length index input
concat() every() filter()
forEach() indexOf() join()
lastIndexOf() map() pop()
push() recude() recudeRight()
reverse() shirt() slice()
some() toSource() sort()
splice() toString() unshift()
ĐỐI TƯỢNG Date
Thông qua việc khởi tạo một đối tượng Date, bạn có thể tiến
hành thao tác với các phương thức của nó.
Date() getDate() getDay()
getFullYear() getHours() getMilliseconds()
getMinutes() getMonth() getSeconds()
getTime() getYear() getTimezoneOffset()
getUTCDate() getUTCDay() getUTCFullYear()
getUTCHours() getUTCMilliseconds()
getUTCMinutes() getUTCMonth() getUTCSeconds()
setDate() setFullYear() setHours()
setMilliseconds() setMinutes() setMonth()
setSeconds() setTime() setYear()
setUTCDate() setUTCFullYear() setUTCHours()
setUTCMilliseconds() setUTCMinutes()
setUTCMonth() setUTCSeconds() toDateString()
toGMTString() toLocaleFormat() toLocaleString()
toLocaleTimeString() toSource() toString()
toTimeString() toUTCString() valueOf()
BIỂU THỨC QUY TẮC
Tạo một đối tượng biểu thức qui tắc:
var tên_biến = /thân_biểu_thức/bổ_từ;
Trong đó:
- Bổ từ:
i Thực hiện tìm kiếm không phân biệt chữ hoa chữ thường.
g Thực hiện tìm kiếm toàn bộ (tìm kiếm toàn bộ chứ không dừng
lại ở lần đầu tiên)
m Thực hiện kết hợp trên nhiều dòng.
- Thân biểu thức:
+ Tìm chữ cái và chữ số:
[0-9] Tìm một ký tự số từ 0 đến 9.
[A-Z] Tìm một ký tự chữ hoa từ A đến Z.
[a-z] Tìm một ký tự chữ thường từ a đến z.
[A-z] Tìm một ký tự chữ hoa hoặc chữ thường.
[abc] Tìm chuỗi có chứa các ký tự abc.
[^abc] Tìm chuỗi không chứa các ký tự abc.
[a|b|c] Tìm có lựa chọn a hoặc b hoăc c.
+ Tìm ký tự theo định dạng đặc biệt
. Tìm một ký tự đơn, ngoại
trừ ký tự bắt đầu một dòng
mới.
\n Tìm một ký tự bắt đầu dòng
mới.
\w Tìm một ký tự văn bản. \W Tìm một ký tự không phải
văn bản.
\d Tìm một ký tự chữ số. \D Tìm một ký tự không phải sô.
\s Tìm một ký tự trắng. \S Tìm một ký tự không phải ký
tự trắng.
\b Tìm nơi bắt đầu hoặc kết
thúc một văn bản
\B Tìm một ký tự không phải ở
nơi bắt đầu hoặc kết thúc
một văn bản.
\f Tìm một nhóm ký tự định dạng. \r Tìm một ký tự xuống dòng.
\t Tìm một ký tự tab. \v Tìm một ký tự tab dọc.
\0 Tìm một ký tự NULL \uxxx Tìm ký tự theo quy định
Unicode.
\xxx Tìm một ký tự theo định
nghĩa bát phân.
\xdd Tìm một ký tự theo định
nghĩa thập lục phân.
+ Lượng hóa phạm vi ký tự cần tìm:
n+ Đánh giá bất kỳ chuỗi nào
chứa ít nhất một ký tự n.
n{X} Đánh giá bất kỳ chuỗi nào
mà ký tự n xuất hiện X lần.
n* Đánh giá bất kỳ chuỗi nào
không có hoặc có nhiều
hơn sự xuất hiện của n.
n{X,Y} Đánh giá bất kỳ chuỗi nào
mà ký tự n xuất hiện từ X
đến Y lần.
n? Đánh giá bất kỳ chuỗi nào
không chứa hoặc một lần
xuất hiện n.
n{Y,} Đánh giá bất kỳ chuỗi nào
mà ký tự n xuất hiện ít nhất
Y lần.
n$ Đánh giá bất kỳ chuỗi nào
với n là ký tự kết thúc của
nó.
?=n Đánh giá bất kỳ chuỗi nào
được theo sau bởi chuỗi n.
^n Đánh giá bất kỳ chuỗi nào
với n là ký tự bắt đầu của
nó.
?!n Đánh giá bất kỳ chuỗi nào
được theo sau không phải
chuỗi n.
Danh sách thuộc tính và phương thức:
exec() test()
Một số thuộc tính, phương thức
tổng quát
Ininity NaN underfined
decodeURI() decodeURIComponent() escape()
encodeURI() encodeURIComponent() evel()
isFinite() isNaN() Number()
parseFloat() parseInt() String()
unescape()
ĐỐI TƯỢNG JAVASCRIPT
ĐỐI TƯỢNG window
Đối tượng window được sử dụng khi bạn muốn lấy thông tin cửa
sổ màn hình trình duyệt, hay kích hoạt mở một số popup hay cửa sổ
màn hình khác.
Những thuộc tính và phương thức của đối tượng này, bạn có thể
gọi thẳng luôn mà không cần nhất thiết phải gọi:
window.
document navigator screen
history location opener
closed parent frames
name length defaultStatus
status self top
innerHeight innerWidth outerHeight
outerWidth pageXOffset pageYOffset
screenLeft screenTop
screenX screenY
alert() confirm() prompt()
focus() blur() open()
close() print() createPopup()
setInterval() setTimeout() clearInterval()
clearTimeout() moveBy() moveTo()
resizeBy() resizeTo() scrollBy()
scrollTo()
ĐỐI TƯỢNG navigator
Đối tượng navigator được sử dụng giúp bạn lấy thông tin trình
duyệt của khách viếng thăm web của bạn
appCodeName appName appVersion
cookieEnabled onLine platform
userAgent
javaEnabled() taintEnabled()
ĐỐI TƯỢNG screen
Đối tượng screen được sử dụng giúp bạn lấy thông tin màn hình
thiết bị khách viếng thăm web của bạn
availHeight availWidth colorDepth
height width pixelDepth
ĐỐI TƯỢNG history
Đối tượng history được sử dụng giúp bạn lấy thông tin URL mà
người dùng đã truy cập vào trang của bạn.
back() forward() go()
ĐỐI TƯỢNG location
Đối tượng location chứa các thông tin về URL hiện tại.
hash host hostname
href pathname port
protocol search
assign() reload() replace()
ĐỐI TƯỢNG document
Mỗi một đối tượng document được nạp vào một cửa sổ trình
duyệt trở thành một đối tượng document.
doctype documentElement documentURI
domConfig implementation inputEncoding
strictErrorChecking xmlEncoding xmlStandalone
xmlVersion
adoptNode() createAttribute() createAttributeNS()
createCDATASection() createElement() createElementNS()
createEntityReference() createProcessingInstruction()
createTextNode() getElementById()
getElementsByTagName() importNode()
normalizeDocument() renameNode()
BẮT LỖI TRY CATCH
Trong Javascript, đôi khi trong quá trình code phát sinh ra một số lỗi.
Để bắt được những lỗi này, Javascript, sử dụng khối lệnh try catch
fillany:
Ví dụ dưới đây thực hiện phép chia toán học:
function Phepchia(){
var a = 100;
var b = 0;
try{
if ( b == 0 ){ throw( alert("Không thể chia một số cho 0." ); }
else{ var c = a / b; alert(“Kết quả: ”+c); }
} catch ( e ) { alert("Đã xảy ra lỗi: " + e ); }
finally{ alert(“Kết thúc”);}
}
THAO TÁC VỚI COOKIE
Ví dụ dưới đây là một ví dụ đơn giản khi thao tác với cookie.
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname+"="+cvalue+"; "+expires;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkCookie() {
var user=getCookie("username");
if (user != "") { alert("Welcome again " + user); }
else {
user = prompt("Please enter your name:","");
if (user != "" && user != null) { setCookie("username", user, 30); }
}
}
checkCookie();
LƯU TRỮ CỤC BỘ
Với lưu trữ cục bộ, ứng dụng web có thể lưu dữ liệu cục bộ trên
trình duyệt của người dùng. So với sử dụng cookie, lưu trữ cục bộ là
bảo mật hươn và lượng lưu trữ lớn hơn. Lưu trữ cục bộ cung cấp 2
đối tượng để lưu trữ dữ liệu trên máy khách.
- Đối tượng localStorage lưu trữ dữ liệu lâu dài trên máy khách, và
không bị mất từ ngày này quan ngày khác.
function CountSession () {
if(typeof(Storage) !== "undefined") {
if (localStorage.clickcount) {
localStorage.clickcount = Number(localStorage.clickcount)+1;
} else { localStorage.clickcount = 1; }
document.getElementById("result").innerHTML = "Bạn đã truy cập vào
trang này: " + localStorage.clickcount + " lần.";
} else {
document.getElementById("result").innerHTML = "Trình duyệt của bạn
không hỗ trợ lưu trữ cục bộ.";
}
}
CountSession ();
- Đối tượng sessionStorage lưu trữ dữ liệu như một phiên làm việc.
Dữ liệu sẽ mất khi người dùng đóng tab trình duyệt chỉ định.
function CountOneSession() {
if(typeof(Storage) !== "undefined") {
if (sessionStorage.clickcount) {
sessionStorage.clickcount = Number(sessionStorage.clickcount)+1;
} else { sessionStorage.clickcount = 1; }
document.getElementById("result").innerHTML = "Số lần truy cập gần đây:
" + sessionStorage.clickcount + " lần.";
} else {
document.getElementById("result").innerHTML = "Trình duyệt của bạn
không hỗ trợ lưu trữ cục bộ.";
}
}
CountOneSession();
ĐỊNH VỊ GEOLOCATION
HTML5 Geolocation API cho phép bạn chia sẻ vị trí của mình với các
trang web bạn yêu thích. Javascript sẽ trả về vĩ độ và kinh độ của bạn.
a. Tạo một đối tượng định vị:
var geolocation = navigator.geolocation;
b. Các phương thức của đối tượng định vị geolocation:
getCurrentPosition() Lấy vị trí hiện tại của người sử dụng. Cú pháp:
var retval = geolocation.getCurrentPosition
(successCallback, errorCallback, options);
watchPosition() Lấy thông tin cập nhật định kỳ về vị trí địa lý
hiện tại của thiết bị.
var watchId =
geolocation.watchPosition(successCallback,
errorCallback, options);
clearWatch() Hủy bỏ việc thực hiện phương thức
watchPosition đã gọi.
Ví dụ:
function LayVitri() {
var geolocation = navigator.geolocation;
geolocation.getCurrentPosition(HienthiVitri, LoiXuly, {maximumAge:75000});
}
c. Các tham số của các phương thức getCurrentPosition() và
watchPosition():
- successCallback: hàm xử lý khi gọi vị trí địa lý thành công. Hàm này
nhận vào một tham số vị trí position. Trong hàm này ta sử dụng một đối
tượng vị trí (position) để hiển thị đầy đủ thông tin vị trí địa lý. Nó bao
gồm các thuộc tính:
coords Lấy vị trí địa lý của thiết bị. Vị trí
được thể hiện như một tập hợp tọa
độ địa lý cùng với tên và tốc độ.
latitude Lấy vĩ độ thập phân. Nó nhận giá trị
từ -90 đến 90.
longitude Lấy kinh độ thập phân. Nhận giá trị
từ -180 đến 180.
altitude Xác định độ cao của thiết bị tính
bằng đơn vị mét.
accuracy
Lấy độ chính xác của kinh độ và
vĩ độ tính bằng mét.
altitudeAccuracy Xác định độ chính xác trong độ cao,
tính bằng mét.
heading Chỉ định hướng di chuyển của thiết bị
so với cực Bắc theo chiều kim đồng
hồ, tính theo độ.
speed Tốc độ của Trái Đất tại vị trí thiết bị,
đơn vị m/s.
timestamp Xác định thời gan lấy thông tin vị trí.
Ví dụ:
function HienthiVitri (position) {
var vido = position.coords.latitude;
var kinhdo = position.coords.longitude;
}
- errorCallback: hàm xử lý khi gọi vị trí địa lý không thành công. Hàm
này nhận vào một tham số lỗi vị trí positionError. Giá trị mặc định là null.
Trong hàm này ta sử dụng một đối tượng vị trí (positionError) để hiển thị
đầy đủ thông tin vị trí địa lý. Nó bao gồm các thuộc tính:
code() Trả về mã lỗi
UNKNOWN_ERROR
- Không lấy được vị trí của thiết bị do
một lỗi không rõ (tương ứng code=0).
PERMISSION_DENIED
- Không lấy được vị trí của thiết bị do
ứng dụng không được phép sử dụng
(tương ứng code=1).
POSITION_UNAVAILABLE
- Vị trí của thiết bị không được xác định
(tương ứng code=2).
TIMEOUT
- Không được lấy vị trí của thiết bị trong
một khoảng thời gian tối đa quy định
(tương ứng code=3).
message Trả về nguyên nhân không lấy được
vị trí.
Ví dụ:
function LoiXuly (error) {
switch(error.code) {
case error.PERMISSION_DENIED:
x.innerHTML="Thiết bị do ứng dụng không được phép sử dụng.";
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML=" Vị trí của thiết bị không được xác định."; break;
case error.TIMEOUT:
x.innerHTML="Bạn không thể lấy được tọa độ trong thời gian này.";
break;
case error.UNKNOWN_ERROR:
x.innerHTML=" Không lấy được vị trí của thiết bị do một lỗi không rõ.";
break;
}
}
- options: sử dụng một đối tượng có sử dụng mã JSON để xác định
một hoặc nhiều thuộc tính để trả về giá trị mong muốn. Nó có thể nhận
thuộc tính và giá trị như sau:
enableHighAccuracy Xác định nhận giá trị vị trí chính xác nhất có
thể. Nó có thể nhận giá trị true hoặc false.
timeout Xác định số mili giây để chờ trả về thông tin
vị trí.
maximumAge Xác định số mili giây tối đa để trả về thông tin.
Ví dụ:
function LayVitri(){
var dinhvi = navigator.geolocation;
dinhvi.getCurrentPositio(HienthiVitri, LoiXuly, {maximumAge:75000});
}
Sau đây là tất cả đoạn code ta đã làm để lấy và hiển thị thông tin
định vị trên bản đồ:
Định vị
Click nút để lấy vị trí của bạn:
Định vị
<script
src="">
var x = document.getElementById("demo");
function LayVitri() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(HienthiVitri,
HienthiLoi);
}else { x.innerHTML = "Trình duyệt này không hỗ trợ định vị."; }
}
function HienthiVitri(position) {
lat = position.coords.latitude;
lon = position.coords.longitude;
latlon = new google.maps.LatLng(lat, lon)
mapholder = document.getElementById('mapholder')
mapholder.style.height = '250px';
mapholder.style.width = '500px';
var myOptions = {
center: latlon, zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false,
navigationControlOptions: { style:
google.maps.NavigationControlStyle.SMALL }
};
var map = new
google.maps.Map(document.getElementById("mapholder"), myOptions);
var marker = new google.maps.Marker({ position: latlon, map: map, title:
"Bạn đang ở đây!" });
}
function HienthiLoi(error) {
switch (error.code) {
case error.PERMISSION_DENIED:
x.innerHTML = "Người dùng cấm sử dụng định vị."; break;
case error.POSITION_UNAVAILABLE:
x.innerHTML = "Thông tin vị trí không được xác định.";
break;
case error.TIMEOUT:
x.innerHTML = "Yêu cầu đã quá hạn."; break;
case error.UNKNOWN_ERROR:
x.innerHTML = "Lỗi không xác định."; break;
}
}
KỸ THUẬT AJAX
1. Giới thiệu và phương thức hoạt động của AJAX:
a. Khái niệm AJAX:
AJAX là từ viết tắt của Asynchronous Javascript And XML.
AJAX là một kỹ thuật cho phép tạo ra các trang Web tạo ra các trang
Web nhanh chóng và năng động.
AJAX cho phép các trang Web được cập nhật không đồng đều bằng
cách trao đổi một lượng nhỏ dữ liệu với máy chủ qua hoạt cảnh. Điều đó
có nghĩa là nó cho phép cập nhật từng phần của trang Web mà không
cần tải lại toàn bộ trang. Điều mà trong các Website trước đây phải tải
lại toàn bộ trang web nếu nội dung của nó cần sự thay đổi.
Hiện nay AJAX được sử dụng với Google Maps, Gmail, Youtube,
Facebook
b. Hoạt động của AJAX
c. AJAX dựa trên các chuẩn cơ bản của Internet với sự kết hợp
của:
- Đối tượng XMLHttpRequest (trao đổi dữ liệu không đồng bộ với một
máy chủ).
- JavaScript/DOM (để hiển thị/ tương tác với thông tin).
- Css (kiểu trình bày trang).
- XML (thường được sử dụng như là định dạng để chuyển đổi dữ
liệu).
d. Ứng dụng: AJAX được sử dụng phổ biến từ năm 2005 trong các
trang của Google, Google Suggest. Họ đã sử dụng AJAX để tạo ra một
giao diện trang Web rất năng động. Khi bạn bắt đầu gõ vào ô tìm kiếm
của Google, một đoạn Javascript được gửi về máy chủ và máy chủ trả
về một danh sách các gợi ý.
2. Thao tác AJAX với JavaScript:
Giả sử chúng ta cho một nút và một phần tử div sẽ được sử dụng để
hiển thị thông tin tải về từ máy chủ khi nút được nhấp:
Tải trang
Nội dung trang được tải khi bấn Button
Bây giờ, ta tạo thêm một thẻ trong phần để tạo một
hàm kịch bản taitrang()
function taitrang()
{
//Đoạn mã AJAX được trình bày dưới đây.
}
a. Tạo đối tượng XMLHttpRequest:
Hầu hết các trình duyệt hiện nay đều hỗ trợ đối tượng
XMLHttpRequest (riêng đối với IE5 và IE6 sử dụng đối tượng
ActiveXObject). Đối tượng XMLHttpRequest được sử dụng để trao đổi
dữ liệu với máy chủ sau hoạt cảnh. Điều này có nghĩa là nó có thể cập
nhật các phần của trang Web mà không cần phải tải lại toàn bộ trang.
- Cú pháp tạo đối tượng XMLHttpRequest:
tên_biến = new XMLHttpRequest();
- Riêng đối với các trình duyệt IE5 hoặc IE6 ta tạo một đối tượng
ActiveXObject:
tên_biến = new ActiveXObject(“Microsoft.XMLHTTP”);
Và để tổng quát cho tất cả các trình duyệt ta dùng đoạn lệnh sau:
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
b. Gửi yêu cầu về máy chủ:
Để gửi yêu cầu về máy chủ chúng ta sử dụng các phương thức
open() và close() của đối tượng XMLHttpRequest:
Phương thức open(): dùng để xác định loại yêu cầu, Đường dẫn
đến nơi yêu cầu, và yêu cầu cần xử lý thông tin đồng bộ hay không. Cú
pháp
xmlhttp.open(method,url,async);
Trong đó:
- method: xác định loại yêu cầu: là GET hay POST.
GET POST
GET là đơn giản và nhanh hơn POST, và được sử dụng trong hầu
hết các trường hợp. Tuy nhiên có một số trường hợp ta luôn luôn sử
dụng POST:
- Tập tin lưu trữ không phải chỉ có một lựa chọn (như trong trường
hợp cập nhật một tập tin hay cơ sở dữ liệu trên máy chủ).
- Gửi một lượng lớn dữ liệu lên máy chủ (POST không giới hạn
kích thước).
- Gửi dữ liệu từ người dùng nhập vào (đòi hỏi mã hóa để giữ bí
mật), POST mạnh mẽ và an toàn hơn GET.
GET thường gắn thêm ID
Ví dụ:
xmlhttp.open("GET","demo_get2.asp
?fname=Henry&lname=Ford",true);
xmlhttp.send();
POST đơn giản chỉ cần đường
dẫn. Đồng thời chúng ta có thể
thêm một tiêu đề HTTP với
setRequestHeader(tiêu_đề
,giá_trị). Đồng thời chỉ định dữ
liệu muốn gửi trong phương thức
send(). Ví dụ:
xmlhttp.open("POST","ajax_test.asp"
,true);
xmlhttp.setRequestHeader("Content-
type","application/x-www-form-
urlencoded");
xmlhttp.send("fname=Henry&lname
=Ford");
- url: xác định vị trí của tập tin cần cập nhật trên máy chủ. Các tập tin
có thể có định dạng .txt, .xml hoặc các tập tin kịch bản như .asp, .php
(có thể thực hiện hành động trên máy chủ trước khi gửi phản hồi lại).
- async: để xác nhận xem có cần cập nhật thông tin đồng bộ hay
không. Nó nhận giá trị true hoặc false.
Gửi yêu cầu không đồng bộ là một cải tiến lớn cho các nhà phát triển
web. Một trong những công dụng rất lớn của nó là tiết kiệm thời gian
thực hiện trên máy chủ. Trước khi có AJAX, hoạt động này có thể gây ra
việc treo và dừng lại của ứng dụng. Với AJAX, JavaScript không chờ đợi
phản ứng máy chủ, mà nó có thể:
+ Thực hiện các kịch bản khác trong khi chờ đợi phản hồi từ máy chủ.
+ Đối phó với những tình huống có thể xảy ra.
true false
Khi sử dụng true, bạn có thể đưa
ra các hàm chức năng trong khi
chờ đợi máy chủ phản hồi lại. Khi
đó các hàm sẽ được viết trước khi
sử dụng phương thức open() và
nhìn chung đều nhằm sử lý trong
trường hợp xảy ra sự cố khi máy
chủ nhận và phản hồi thông tin.Ví
dụ:
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 &&
xmlhttp.status==200) {
document.getElementById("myDiv")
.innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
Khi bạn sử dụng false, các đoạn
Javascript sẽ không được thực
hiện cho đến khi máy chủ trả về
phản hồi. Cho nên các hàm bạn
phải viết sau phương thức send().
Khi đó, nếu máy chủ đang bận
hoặc chậm, ứng dụng sẽ bị treo
hay dừng lại. Ví dụ:
xmlhttp.open("GET","ajax_info.txt",false);
xmlhttp.send();
document.getElementById("myDiv")
.innerHTML=xmlhttp.responseText;
Phương thức send(): dùng để gửi yêu cầu về máy chủ. Cú pháp:
xmlhttp.send(string);
Trong đó: string chỉ được sử dụng nếu loại yêu cầu là POST.
c. Phản hồi từ máy chủ:
Để nhận được phản hồi từ máy chủ, ta có thể sử dụng các thuộc tính
responseText hoặc responseXML của đối tượng XMLHttpRequest.
Ví dụ: Chỉ nhận phản hồi dữ liệu như một chuỗi. Ví dụ:
function loadXMLDoc(){
var xmlhttp;
if (window.XMLHttpRequest){xmlhttp=new XMLHttpRequest(); }
else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
Đặt nội dung AJAX vào đây.
Thay đổi nội dung
d. Sự kiện readyState:
Khi một yêu cầu tới máy chủ được gửi đi, chúng ta muốn thực hiện
một số hành động cơ bản để dựa trên kết quả phản hồi. Sự kiện
onreadystatechange được kích hoạt mỗi khi readyState thay đổi. Các
thuộc tính readyState xác định trạng thái của XMLHttpRequest. Ba
thuộc tính quan trọng của đối tượng XMLHttpRequest:
onreadystatechange tập hợp các hàm (hoặc tên của một hàm)
được gọi tự động mỗi lần thay đổi thuộc tính
readyState.
readyState Xác định trạng thái của XMLHttpRequest.
Nó có thể nhận giá trị từ 0 đến 4.
0 Không yêu cầu khởi tạo
1 Đã kết nối được với máy chủ
2 Yêu cầu đã nhận được
3 Đang xử lý yêu cầu
4 Đã xử lý xong và sẵn sàng phản
hồi lại yêu cầu.
status 200: “OK”.
404: không tìm thấy trang.
Ví dụ:
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); }
else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
Đặt nội dung AJAX vào đây
Thay đổi
e. Sử dụng một hàm gọi lại:
Một hàm gọi lại được xác đinh như là một tham số được truyền vào
một hàm khác.
Nếu bạn có nhiều hơn một nhiệm vụ AJAX trên trang web của bạn,
bạn nên sử dụng một hàm tiêu chuẩn để tạo ra đối tượng
XMLHttpRequest. và gọi cho mỗi nhiệm vụ AJAX.
Những lần gọi hàm chức năng nên có các URL và những gì cần làm
trên onreadystatechange (mà có lẽ là khác nhau cho mỗi lần gọi).
Ví dụ:
var xmlhttp;
function loadXMLDoc(url,cfunc){
if (window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest(); }
else{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
function myFunction(){
loadXMLDoc("ajax_info.txt",function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
});
}
Đặt nội dung JS vào đây
Thay đổi
HIỆU SUẤT WEB
Khi bạn thực hiện các kịch bản Javascript trong một trang HTML,
trang bị ngừng phản hồi cho đến khi kịch bản đó được hoàn thành. Web
worker là một đoạn mã Javascript được chạy ở chế độ nền, độc lập với
các kịch bản khác trong trang, mà không ảnh hưởng đến hiệu suất chạy
trang. Điều đó có nghĩa là bạn có thể tiếp tục làm điều gì mà bạn muốn:
nhấp chuột, chọn phần tử trong khi web worker vẫn đang chạy ở chế
độ nền. Bạn cũng lưu ý là web worker chạy trong chế độ nền nên bạn
không thể thao tác với các đối tượng window, document, element trong
tập tin ngoài của web worker.
Trước khi làm việc với Web worker, bạn phải kiểm tra trình duyệt có
hỗ trợ hay không.
if(typeof(Worker) !== "undefined") {
// Trình duyệt có hỗ trợ web worker
} else {
// Trình duyệt không hỗ trợ web worker
}
Trong trường hợp trình duyệt có hỗ trợ web worker, bạn có thể:
- Tạo ra một đối tượng Web Worker
w = new Worker("demo_workers.js");
trong đó tập tin Js demo_worker là tập tin thực thi Web Worker.
- Chấm dứt một Web Worker:
w.terminate();
- Tái sử dụng lại Web Worker sau khi bạn đã chấm dứt sử dụng chúng:
w = undefined;
Sau đây là một ví dụ cụ thể thao tác với Web Worker:
Số đếm:
Bắt đầu
Kết thúc
var w;
function startWorker() {
if(typeof(Worker) !== "undefined") {
if(typeof(w) == "undefined") {
w = new Worker("demoworkers.js");
}
w.onmessage = function(event) {
document.getElementById("result").innerHTML = event.data;
};
} else {
alert(“Trình duyệt không hỗ trợ Web Worker”);
}
}
function stopWorker() { w.terminate(); w = undefined; }
Trong đó nội dung tập tin demoworkers.js là:
var i = 0;
function timedCount() {
i = i + 1;
postMessage(i);
setTimeout("timedCount()",500);
}
timedCount();
SỰ KIỆN GỬI MÁY CHỦ (SSE)
Sự kiện gửi máy chủ (SSE – Server Send Events) là một bản cập
nhật từ máy chủ và hiển thị kết quả trên trình duyệt Web. Trước khi lấy
dữ liệu từ máy chủ, trình duyệt sẽ đưa ra yêu cầu và sẽ đưa ra bản cập
nhật nếu nó có sẵn trên máy chủ.
Ví dụ:
Update máy chủ
if(typeof(EventSource) !== "undefined") {
var source = new EventSource("demosse.php");
source.onmessage = function(event) {
document.getElementById("result").innerHTML += event.data + "";
};
} else {
document.getElementById("result").innerHTML = "Trình duyệt không hỗ trợ SSE ";
}
Trong đó nội dung tập tin demosse.php là:
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$time = date('r');
echo "data: The server time is: {$time}\n\n";
flush();
?>
ĐẠI CƯƠNG VỀ JQUERY
Javascript là một ngôn ngữ kịch bản phía máy khách, nhằm tăng cường tính tương tác cho trang web;
thường được sử dụng để thay đổi nội dung từng phần trên trang, hay bắt các sự kiện như trong quá trình
tải trang, kích hoạt các nút, hay kiểm tra biểu mẫu trước khi nó được gửi về phía máy chủ.
Cài đặt thư viện jQuery vào trong trang HTML:
Vận dụng jQuery:
$()..;
Trong trường hợp sử dụng nhiều thư viện JavaScript. Do các thư viện này có thể sử dụng $ nên ta
cần tránh xung đột khi sử dụng. Khi đó jQuery cung cấp một phương thức .noConflict() để trả ký hiệu
nhận dạng $ về cho các thư viện khác. Khi đó để sử dụng jQuery ta phải sử dụng từ jQuery thay vì dấu
nhận dạng $.
jQuery.noConflict();
BỘ CHỌN JQUERY
BỘ CHỌN CƠ BẢN
* Chọn tất cả các phần tử $(“*”)
#id Chọn tất cả các phần tử có thuộc tính id=”id” $(“#lastname”)
.class Chọn tất cả các phần tử có thuộc tính class=”class” $(“.intro”)
element Chọn tất cả các phần tử element $(“p”)
sel1, sel2, sel3 Đa bộ chọn $(“.intro .demo”)
BỘ CHỌN PHÂN CẤP
ances descen Chọn tất cả các phần tử descen là con cháu của
ances
$(“ul li”)
parent > child Chọn tất cả phần tử child là con trực tiếp của parent $(“div > div”)
prev + next Chọn tất cả các phần tử next là phần tử kế
tiếp ngay sau prev
$(“p + div”)
prev ~ siblings Chọn tất cả những phần tử siblings là anh em
cùng cấp với prev nhưng nằm phía sau prev
$(“.pt1 ~ pt2 ”)
BỘ CHỌN MỞ RỘNG
a. Chọn theo thuộc tính (Attribute Selectors)
[attribute] Lọc các phần tử có khai báo attribute $(“[href]”)
[attribute = value] Lọc các phần tử có attribute với giá trị là value $(“[href=’index.html’]”)
[attribute != value] Lọc các phần tử có attribute với giá trị là khác value $(“[href!=’index.html’]”)
[attribute ^= value] Lọc các phần tử có attribute với giá trị bắt đầu
là value
$(“[href^=’index’]”)
[attribute $= value] Lọc các phần tử có attribute với giá trị kết thúc
là value
$(“[href$=’.jpg’]”)
[attribute *= value] Lọc các phần tử có attribute với giá trị có
chứa value
$(“[href*=’hoa’]”)
[attr1][attr2][attr3] Lọc các phần tử thỏa mãn tất cả các $(“[href*=’hoa’]
thuộc tính [href=’mai.html’]”)
b. Chọn theo form (Form Selectors)
:input Chọn tất cả các phần tử input $(“:input”)
:text Chọn tất cả các phần tử input với type=”text” $(“:text”)
:password Chọn tất cả các phần tử input với type=” password” $(“:password”)
:radio Chọn tất cả các phần tử input với type=”radio” $(“:radio”)
:checkbox Chọn tất cả các phần tử input với type=”checkbox” $(“:checkbox”)
:submit Chọn tất cả các phần tử input với type=”submit” $(“:submit”)
:reset Chọn tất cả các phần tử input với type=”reset” $(“:reset”)
:button Chọn tất cả các phần tử input với type=”button” $(“:button”)
:image Chọn tất cả các phần tử input với type=”image” $(“:image”)
:file Chọn tất cả các phần tử input với type=”file” $(“:file”)
:enabled Chọn các phần tử ở trạng thái enabled $(“:enabled”)
:disabled Chọn các phần tử ở trạng thái disabled $(“:disabled”)
:checked Chọn các phần tử checked hoặc radio ở trạng
thái checked
$(“:checked”)
:selected Chỉ chọn các phần tử option ở trạng thái selected $(“:selected”)
c. Lọc theo vị trí (Position Filters)
:first Lấy phần tử đầu tiên trong tập kết quả khớp với
selector
$("p:first")
:last Lấy phần tử cuối cùng trong tập kết quả khớp với
selector
$("p:last")
:even Lấy các phần tử ở vị trí chẵn trong tập các
phần tử được chọn khớp với selector
$("tr:even")
:odd Lấy các phần tử ở vị trí lẻ trong tập các phần
tử được chọn khớp với selector
$("tr:odd")
:eq(index) Lấy các phần tử ở vị trí index trong tập các
phần tử được chọn khớp với selector
$("ul li:eq(3)")
:gt(index) Lấy các phần tử ở vị trí lớn hơn index trong
tập các phần tử được chọn khớp với selector
$("ul li:gt(3)")
:lt(index) Lấy các phần tử ở vị trí nhỏ hơn index trong
tập các phần tử được chọn khớp với selector
$("ul li:lt(3)")
:not(selector) Không chọn những phần tử trống $("input:not(:empty)")
:only-child Trả về tất cả các phần tử con mà không phải
là phần tử anh em
:nth-child(index) Lấy phần tử ở vị trí index trong tập phần tử
được chọn khớp với selector
:first-child Lấy phần tử con đầu tiên trong tập kết quả
khớp với selector
:last-child Lấy phần tử con cuối cùng trong tập
kết quả khớp với selector
d. Lọc theo nội dung (Content Filters)
:contains(text) Lọc các phần tử có chứa chuỗi text $(":contains('W3C')")
:empty Lọc các phần tử rỗng $(":empty")
:has(selector) Lọc các phần tử có chứa ít nhất một phần tử
thỏa selector
$(“:has(‘div’)”)
:parent Lọc các phần tử cha (có chứa ít nhất một
phần tử khác hoặc text)
$(“:parent”)
e. Một số cách lọc khác (Visual Filters)
:hidden Lọc các phần tử có trạng thái đang ẩn $(“p:hidden”)
:visible Lọc các phần tử ở trạng thái đang hiển thị $(“table:visible”)
:header Chọn các phần tử tiêu đề (từ h1 đến h6) $(“:header”)
:animated Chọn các phần tử động $(“ animated”)
PHƯƠNG THỨC DUYỆT DOM
.children(selector) Được sử dụng để chọn các phần tử con trực
tiếp (phần tử con mức 1) của các phần tử
được chọn.
$("div")
.children(".selected")
.addClass("blue");
.siblings(selector) Được sử dụng để lấy tất cả các phần tử cùng
cấp với mỗi phần tử được chọn
$('p').siblings('div');
.contents()
.find(selector) Được sử dụng để chọn phần tử hậu duệ của
các phần tử được chọn
$('.article').find('p');
.next(selector) Được sử dụng để lấy phần tử ở ngay sau mỗi
phần tử được chọn
$('h2').next();
.nextAll(selector) Được sử dụng để lấy tất cả các phần tử cùng
cấp ở phía sau của mỗi phần tử được chọn
$('h2').nextAll('p');
.parent(selector) Dùng để lấy phần tử cha (là phần tử có chứa)
của mỗi phần tử được chọn
$('p').parent();
.parents(e)
.prev(selector) Được sử dụng để lấy phần tử ở ngay phía
trước của mỗi phần tử được chọn
$('h2').prev();
.prevAll(selector) Được sử dụng để lấy tất cả các phần tử cùng
cấp ở phía trước của mỗi phần tử được chọn
$('h2').prevAll();
PHƯƠNG THỨC SỰ KIỆN JQUERY
SỰ KIỆN CHUỘT
click() Kích hoạt hoặc gọi một hàm khi sự kiện nhấp chuột nơi phần tử được chọn.
dbclick() Kích hoạt hoặc gọi một hàm khi sự kiện nhấp đúp chuột nơi phần tử được chọn.
mousedown() Kích hoạt hoặc gọi một hàm khi sự kiện nhấn chuột xuống nơi phần tử được chọn.
mousemove() Kích hoạt hoặc gọi một hàm khi sự kiện di chuyển chuột lên nơi phần tử được chọn.
mouseover() Kích hoạt hoặc gọi một hàm khi sự kiện con trỏ chuột ở trên phần tử được chọn.
mouseout() Kích hoạt hoặc gọi một hàm khi sự kiện di chuyển chuột ra ngoài phần tử được chọn.
mouseup() Kích hoạt hoặc gọi một hàm khi sự kiện nhả chuột ra nơi phần tử được chọn.
hover() Gọi một hay hai hàm khi sự kiện di chuyển chuột vào phần tử được chọn.
mouseenter() Gọi một hay hai hàm khi sự kiện chuột vào phần tử được chọn.
mouseleave() Gọi một hay hai hàm khi sự kiện chuột ra phần tử được chọn.
SỰ KIỆN BÀN PHÍM
keydown() Kích hoạt hoặc gọi một hàm khi sự kiện nhấp một phím xuống nơi phần tử được chọn.
keypress() Kích hoạt hoặc gọi một hàm khi sự kiện nhấp và nhả một phím nơi phần tử được chọn.
keyup() Kích hoạt hoặc gọi một hàm khi sự kiện nhả một phím ra nơi phần tử được chọn.
SỰ KIỆN ĐỐI TƯỢNG HOẶC KHUNG
ready() Gọi một hàm cho sự kiện tài liệu đã sẵn sàng.
error() Kích hoạt hoặc gọi một hàm khi sự kiện có lỗi tại phần tử được chọn.
load() Kích hoạt hoặc gọi một hàm khi sự kiện tải phần tử được chọn đã hoàn thành.
resize() Kích hoạt hoặc gọi một hàm khi sự kiện kích thước của phần tử được chọn thay đổi.
scroll() Kích hoạt hoặc gọi một hàm khi sự kiện cuốn tài liệu để xem phần tử được chọn.
unload() Kích hoạt hoặc gọi một hàm khi sự kiện tạm dừng việc tải phần tử được chọn.
SỰ KIỆN BIỂU MẪU
blur() Kích hoạt hoặc gọi một hàm khi sự kiện phần tử được chọn mất tiêu điểm.
change() Kích hoạt hoặc gọi một hàm khi sự kiện phần tử được chọn thay đổi nội dung.
focus() Kích hoạt hoặc gọi một hàm khi sự kiện phần tử được chọn nhận tiêu điểm.
focusin() Gọi một hàm cho sự kiện nhận tiêu điểm của phần tử được chọn.
focusout() Gọi một hàm cho sự kiện mất tiêu điểm của phần tử được chọn.
select() Kích hoạt hoặc gọi một hàm khi sự kiện phần tử được chọn là input hoặc textarea.
submit() Kích hoạt hoặc gọi một hàm khi sự kiện nút phần tử được chọn gửi biểu mẫu.
THIẾT LẬP SỰ KIỆN
bind() Thêm một hoặc nhiều sự kiện xử lý cho phần tử phù hợp.
unbind() Hủy bỏ một sự kiện xử lý được thêm từ phần tử được chọn.
live() Thêm một hoặc nhiều sự kiện xử lý tại thời điểm hiện tại hoặc tương lai của
phần tử được chọn.
die() Xóa tất cả các sự kiện xử lý được thêm vào từ hàm live().
one() Thêm một hoặc nhiều sự kiện xử lý cho phần tử phù hợp. Những xử lý này
được sử dụng duy nhất một lần cho mỗi phần tử.
delegate() Thêm một hoặc nhiều sự kiện xử lý được gọi tại thời điểm hiện tại hoặc
tương lai của phần tử con của phần tử được chọn.
undelegate() Xóa bỏ một sự kiện xử lý cho phần tử được chọn trong hiện tại hoặc tương lai.
toggle() Gọi hai hoặc nhiều hàm thay đổi khi sự kiện nhấp chuột thực hiện trên phần
tử được chọn.
trigger() Kích hoạt tất cả các sự kiện liên quan cho phần tử được chọn.
triggerHandler() Kích hoạt tất cả các hàm của một sự kiện được kích hoạt cho phần tử được chọn.
sự_kiện.preventDefault() Ngăn chặn việc thực hiện các hành động mặc định của sự kiện.
sự_kiện.
isDefaultPrevented ()
Trả về kết quả có hay không việc áp dụng hàm preventDefault() cho phần tử được chọn.
CÁC THUỘC TÍNH
sự_kiện.pageX Trả về vị trí của chuột so với cạnh trái của tài liệu.
sự_kiện.pageY Trả về vị trí của chuột so với cạnh trên của tài liệu.
sự_kiện.result Trả về giá trị cuối cùng trả về bởi một hàm sự kiện được kích hoạt, trừ khi giá
trị đó là rỗng.
sự_kiện.timeStamp Trả về số mili giây kể từ ngày 1/1/1970 khi sự kiện được kích hoạt.
sự_kiện.target Trả về tên phần tử DOM thực hiện sự kiện.
sự_kiện.type Trả về tên của sự kiện.
sự_kiện.which Trả về mã hóa một phím hoặc một sự kiện kích hoạt.
PHƯƠNG THỨC HIỆU ỨNG TRONG JQUERY
Các hiệu ứng động của jQuery sẽ làm cho trang web của bạn thêm phần sinh động. Jquery cho phép
bạn ẩn hiện, trượt lên trượt xuống các thành phần của trang web. Bạn cũng có thể cho nó xảy ra cùng
một lúc hoặc theo thứ tự định trước. Trong phần này chúng ta sẽ tìm hiểu các hiệu ứng jQuery và kết
hợp chúng để tạo ra những hiệu ứng hay.
Một số yếu tố trong hiệu ứng:
- Khi không đặt giá trị tham sô của phương thức, phần tử được chọn sẽ thực hiện hiệu ứng ngay lập tức.
- Tốc độ hiệu ứng [speed] : chỉ ra khoảng thời gian diễn ra của hiệu ứng.
+ Tốc độ chậm ‘slow’ – làm cho hiệu ứng diễn ra trong vòng 0,6 giây.
+ Tốc độ trung bình ‘normal’ – làm cho hiệu ứng diễn ra trong vòng 0,4 giây.
+ Tốc độ nhanh ‘fast’- làm cho hiệu ứng diễn ra trong vòng 0,2 giây.
+ Tốc độ num – làm cho hiệu ứng diễn ra trong vòng num mili giây.
- Độ trong suốt của hình ảnh [opacity]: là một số số từ 0.00 (tương ứng 0%- ẩn hoàn toàn) đến 1.00
(tương ứng 100% - hiện hoàn toàn).
- Hàm [calback]: là hàm được gọi sau khi hiệu ứng hoàn thành.
* Lưu ý: Hiệu ứng hiển thị chỉ làm việc trên các phần tử bị ẩn bởi jQuery (fadeOut(),hide(), toggle(),..) và
display:none trong CSS (nhưng không phải visibility:hidden).
HIỆU ỨNG CƠ BẢN
hide() Hiển thị ra tất cả các phần tử được chọn đang trong trạng thái ẩn.
$(bộ_chọn).hide([speed], [calback]);
show() Ẩn đi tất cả các phần tử được chọn đang trong trạng thái hiển thị.
$(bộ_chọn).show([speed], [calback]);
toggle() cho phép thực hiện đảo trạng thái hiển thị (ẩn => hiện, hiện => ẩn) của các
phần tử được chọn.
$(bộ_chọn).toggle([speed], [calback]);
HIỆU ỨNG MỜ DẦN
fadeIn() làm cho các phần tử được chọn từ trạng thái ẩn dần dần chuyển sang trạng
thái nhìn thấy được
$(bộ_chọn).fadeIn([speed], [calback]);
fadeOut() làm cho các phần tử được chọn từ trạng thái nhìn thấy được dần dần chuyển
sang trạng thái ẩn.
$(bộ_chọn).fadeOut([speed], [calback]);
fadeTo() làm cho trạng thái các đối tượng được chọn trở lên trong suốt đến mức trong
suốt được chỉ ra.
$(bộ_chọn).fadeTo ([speed], [opacity], [calback]);
fadeToggle() dùng để đảo trạng thái từ fadeIn sang fadeOut hoặc ngược lại.
$(bộ_chọn).fadeToggle([speed], [calback]);
HIỆU ỨNG SLIDE
slideDown() Thay đổi từ từ chiều cao của các đối tượng từ trên xuống dưới từ trạng thái
ẩn cho đến khi nhìn thấy được.
$(bộ_chọn).slideDown([speed], [calback]);
slideToggle() được dùng để đảo trạng thái từ slideUp sang slideDown hoặc ngược lại.
$(bộ_chọn).slideToggle([speed], [calback]);
slideUp() Thay đổi từ từ chiều cao của các đối tượng từ dưới lên trên từ nhìn thấy
được sang trạng thái ẩn.
$(bộ_chọn).slideUp([speed], [calback]);
HIỆU ỨNG ĐỘNG
animate() Cho phép tự tạo hiệu ứng động theo ý muốn thông qua thay đổi giá trị của
các thuộc tính CSS.
$(bộ_chọn).animate(style,speed,easing,callback);
$(bộ_chọn).animate(style,option);
Trong đó:
- style: chỉ ra một hoặc nhiều thuộc tính CSS để animate
- easing: Kiểu di chuyển của hiệu ứng. Gồm hai hàm có sẵn là ‘swing’,
‘linear’. Ngoài ra có thể dùng các plugin mở rộng.
Lưu ý: Chỉ có thể thực hiện thay đổi trên các thuộc tính CSS có giá trị kiểu số
(margin:30px), không thể thay đổi trên thuộc tính kiểu chuỗi (background-
color:red).
PHƯƠNG THỨC BỔ TRỢ HIỆU ỨNG
stop() Phương thức dừng ngay lập tức các hiệu ứng hoạt họa đang thực thi trên các
phần tử được chọn
$(bộ_chọn).stop(stopAll,gotoEnd);
Trong đó:
- stopAll: là tham số tùy chọn kiểu boolean. Giá trị mặc định là false, nếu thiết
lập là true sẽ xóa toàn bộ hoạt họa nối tiếp (dừng ngay lập tức).
- gotoEnd: là tham số tùy chọn kiểu boolean. Giá trị mặc định là false, nếu
thiết lập là true hiệu ứng sẽ được hoàn thành ngay lập tức .
delay() Đợi một khoảng thời gian tính bằng mili giây trước khi thực hiện hiệu ứng tiếp theo.
Ví dụ: $('h1').show(300).delay(1000).hide(300);
queue() Dùng để xen giữa các hiệu ứng khi đang chạy được áp dụng cho phần tử chọn như
trong các hiệu ứng animate() đẻ thay đổi thuộc tính css có giá trị kiểu chuỗi.
clearQueue() Dùng để dừng trước khi thực hiện hiệu ứng queue(). Nó khác với phương
thức stop() ở chỗ sau khi cho hiệu ứng chạy tiếp nó sẽ thực hiện các phương
thức tiếp theo là queue().
dequeue() Đặt một khoảng thời gian để chờ trước khi thực hiện hiệu ứng tiếp theo.
PHƯƠNG THỨC HTML TRONG JQUERY
Những phương thức này phần lớn được sử dụng để chèn một đối tượng nào đó vào trong tài liệu.
Lưu ý:
- content: là một chuỗi nội dung muốn chèn vào trang. Chuỗi nội dung có thể là một bộ chọn, hoặc các
thẻ HTML.
- target: là một selector để chọn phần tử mà nội dung content sẽ được chèn vào.
THAY ĐỔI THUỘC TÍNH
addClass()
removeClass()
toggleClass()
hasClass()
- Phương thức addClass(): dùng để thêm class xác định cho tập phần tử
được chọn. Nếu muốn thêm nhiều class thì các class được liệt kê cách nhau
bởi khoảng trắng. Kiểu trả về là jQuery.
Ví dụ: $("p").addClass("maudo");
- Phương thức removeClass(): dùng để gỡ bỏ toàn bộ class hoặc chỉ một số
class xác định khỏi tập phần tử được chọn. Kiểu trả về là jQuery.
Ví dụ: $("p").removeClass("maudo");
- Phương thức toggleClass(): sẽ thêm class nếu class chưa tồn tại hoặc loại
bỏ nếu class đã tồn tại. Kiểu trả về là jQuery
Ví dụ: $("p").toggleClass("maudo");
- Phương thức hasClass(): kiểm tra xem phần tử được chọn của class được
chọn.
attr() Dùng để lấy/ gán giá trị cho thuộc tính của phần tử được chọn.
- Để lấy giá trị của thuộc tính CSS, ta dùng:
$(bộ_chọn).attr(thuộc_tính);
Ví dụ: $(‘table’).attr(‘height’);
- Để thêm một thuộc tính và giá trị của CSS, ta dùng:
$(bộ_chọn).attr(thuộc_tính, giá_trị);
Ví dụ: $(‘table’).attr(‘width’,’1000px’);
- Để thêm nhiều thuộc tính và giá trị CSS, ta dùng:
$(bộ_chọn).attr(attr1:value1,attr2:value2...);
Ví dụ: $(‘table’).attr(‘width’:’1000px’,’height’:’500’);
removeAttr() Gỡ bỏ thuộc tính của phần tử được chọn.
$(bộ_chọn).removeAttr(thuộc_tính);
Ví dụ: $(‘p’).removeAttr(‘style’);
val() Đặt hoặc trả về giá trị của phần
Các file đính kèm theo tài liệu này:
- laptrinhgiaodien_3877.pdf