Giao diện jQuery giờ đây đã trở thành chuẩn để triển khai theme, bởi vì nó hỗ trợ
nhiều widget. Bạn sẽ tìm hiểu sâu về giao diện người dùng jQuery với kiến trúc sư
Java Ken Ramirez để học cách sử dụng các chủ đề gốc và các chủ đề được thiết kế
dành riêng cho trang web của bạn.
17 trang |
Chia sẻ: lylyngoc | Lượt xem: 1930 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Sử dụng các chủ đề giao diện cho jQuery, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Sử dụng các chủ đề
giao diện cho jQuery
Giao diện jQuery giờ đây đã trở thành chuẩn để triển khai theme, bởi vì nó hỗ trợ
nhiều widget. Bạn sẽ tìm hiểu sâu về giao diện người dùng jQuery với kiến trúc sư
Java Ken Ramirez để học cách sử dụng các chủ đề gốc và các chủ đề được thiết kế
dành riêng cho trang web của bạn.
Themes (chủ đề) không phải là một khái niệm mới. Bạn có thể sử dụng Cascading
Style Sheet (CSS) hoặc các classes để định dạng giao diện trang web của bạn. Sử
dụng một Farmework được tiêu chuẩn hóa cách tiếp cận và làm giảm đi số lượng
công việc và code cần phải viết.
JQuery giờ đây là chuẩn công nghệ được áp dụng để thiết kế Theme. Bên cạnh đó
cũng có những lựa chọn khác, chẳng hạn như Dojo (cùng với Dijit) hoặc Ext JS,
nhưng jQuery UI cho phép kết hợp các Themes với các Widgets, đó là những tiện
ích mà người dùng có thể tương tác được như Date Pickers (cho phép chọn ngày
tháng) hay Buttons (các nút bấm). Khi mổ xẻ các hoạt động bên trong các tập tin
tạo nên một giao diện jQuery, những thứ bạn tìm thấy không gì khác là CSS và
JavaScript. Nhưng đó là quá trình suy nghĩ và tiêu chuẩn hóa để nó có thể sử dụng
CSS và JavaScript làm cho jQuery UI như là một nền tảng tuyệt vời để xây dựng
giao diện của một trang web.
Các Theme jQuery UI
Nền tảng jQuery bao gồm hai thành phần sub-framework: một Widget Framework,
trong đó bao gồm Widget Factory và một tập hợp các Widget thông dụng; thành
phần thứ hai là CSS Framework. Widget Factory cung cấp cơ sở cho tất cả các
jQuery UI Widgets, bao gồm những Widget thông thường trong tập hợp các
Widgets. Khi tạo các Widget, ta sử dụng một trong những kiểu Widget phổ biến
được cung cấp sẵn hoặc tự tạo ra ngay từ đầu. Một khi bạn biết vị trí của các
Widget , mở nó lên trong bất kỳ trình soạn thảo yêu thích và xem mã code. Từ đó
sửa code này và tạo ra một widget tùy chỉnh (bắt đầu với những Widget có sẵn)
hoặc tạo ra một cấu trúc tương tự.
Cấu trúc thư mục của jQuery UI themes
Trước khi tiếp tục xem các tập tin khác nhau và nội dung của nó, bạn hãy tải về
một trong các Themes từ jQuery UI platform (xem phần Tài nguyên để tìm đường
link). Các tập tin Zip chứa 3 thư mục: css, js, and development-bundle. Thư mục
development-bundle chứa một thư mục có tên là themes, đó là nơi lưu trữ các
jQuery UI themes. Thư mục themes lần lượt chứa một thư mục có tên theme được
chọn/tải về (chẳng hạn như UI lightness) cũng như một thư mục có tên cơ sở. Thư
mục này là nơi bắt đầu Theme của bạn. Nó luôn được tải về, không phụ thuộc vào
theme được chọn.
Thư mục css chứa một thư mục với tên của theme tải về. Thư mục theme này có
chứa một tập tin CSS kết hợp đánh dấu CSS cho tất cả các thành phần hoặc các
Widget. Thư mục development-bundle, tuy nhiên, cũng có một thư mục theme /
[theme-name] (trong đó [theme-name] là tên thực tế của các theme được chọn) có
chứa các file CSS riêng cho mỗi thành phần hoặc widget. Cấu trúc này làm cho nó
dễ dàng hơn để tìm và sửa đổi theme của mình. Hình 1 cho thấy cấu trúc của thư
mục themes.
Hình 1. Cấu trúc của thư mục themes
Không phải tất cả các tập tin từ thư mục [theme-name] được liệt kê trong Hình 1,
nó chỉ liệt kê những thành phần quan trọng. File jquery.ui.all.css nhập vào các file
jquery.ui.base.css và jquery.ui.theme.css, giúp dễ dàng thêm vào các file bằng cách
sử dụng file jquery.ui.all.css. File jquery.ui.base.css nhập vào file
jquery.ui.core.css và tất cả các file thành phần và Widget từ cùng một thư mục
(những thông tin này không được hiển thị trong Hình 1). File jquery.ui.core.css
chứa các lớp thông dụng được chia sẻ bởi tất cả các file Widget. Nó cung cấp các
lớp CSS cơ sở cho tất cả các Widget jQuery UI (bên trong Theme) cũng như tầm
nhìn chung và định vị cho các Widget. File quan trọng cuối cùng là
jquery.ui.theme.css, cung cấp sự xuất hiện phổ biến và hành vi chia sẻ bởi tất cả
các widget trong themes cũng như chính theme đó.
File jquery.ui.theme.css có ba loại kiểu khác nhau:
Container - Kiểu này định nghĩa theme container, chẳng hạn như ui-widget,
ui-widget-content, hay ui-widget-header.
States - Loại này được dùng bởi jQuery UI Widgets để xác định xem các
widget như người dùng tương tác với nó. Các lớp bao gồm ui-state-default,
ui-state-hover, và ui-state-active.
Cues - Như một cái gì đó xảy ra trong ứng dụng (không phải do hành động
của người sử dụng), các lớp này thay đổi giao diện của các Widget. Các lớp
bao gồm ui-state-highlight, ui-state-error, và ui-state-disabled.
Các sự kiện của Widget
Bởi vì Widget là các đối tượng JavaScript cơ bản, chúng có thể được thiết lập với
các sự kiện chạy xuyên suốt vòng đời của một website. Khi những sự kiện này
được gióng lên, chúng được bắt giữ bởi mã JavaScript hay được xử lý trong các
Widget của website (đây là lựa chọn mặc định).
Tất cả các cách thực hiện Widget được mô tả đầy đủ trong các tài liệu của đội
jQuery UI cho từng Widget phổ biến. Bạn có thể thêm vào code của chính mình,
tuy nhiên, chỉ để xử lý một hay nhiều Widget được chọn. Dưới đây là đoạn code
mẫu để thiết lập việc tiếp nhận sự kiện:
$( "#dlg_popup" ).dialog({
drag: function(event, ui) { ... }
});
Ví dụ này móc nối vào sự kiện drag được gióng lên khi ta rê hộp thoại Dialog Box
trên màn hình. Dấu ba chấm (…) ở ví dụ trên là nơi bạn có thể viết thêm code để
xử lý khi sự kiện được gióng.
Các phương thức của Widget
Các phương thức liên quan của Widget cho phép gọi các chức năng được định
nghĩa sẵn để thực thi một hành động cụ thể. Dưới đây là ví dụ gọi phương thức của
Widget:
$(“#dlg_popup”).dialog("moveToTop”);
Trên lý thuyết thì các tùy chọn và phương thức là khác nhau. Tuy nhiên, lưu ý rằng
giá trị của các tùy chọn có thể được thay đổi hay truy hồi bằng cách sử dụng một
phương thức để thực thi, như ví dụ dưới đây.
$(“#dlg_popup”).dialog("option", "autoOpen", false);
huyển đổi Theme
Bạn có thể thêm mã code vào các file HTML và JavaScript để cho phép thay đổi
Theme nhanh chóng bằng cách dùng một menu Drop-down (thanh thực đơn thả
xuống). Liệt kê 4 thể hiện những thay đổi trong mã code HTML để thực hiện điều
này.
Liệt kê 4. Thay đổi Theme nhanh chóng
.
.
.
<script type="text/javascript"
src="">
.
.
.
.
.
.
Liệt kê 5 thể hiện mã JavaScript.
Liệt kê 5. Mã JavaScript để thay đổi Theme nhanh chóng
$(document).ready(function(){
$('#switcher').themeswitcher();
.
.
.
});
Hình 3 thể hiện ứng dụng mẫu sau những thay đổi này.
Hình 3. Ứng dụng mẫu sau khi đã thay đổi mã code
Hãy chạy lại trang HTML của bạn trong trình duyệt và xem kết quả. Bây giờ bạn
có thể chọn danh sách Drop-down để thay đổi Theme. Theme được chọn sẽ được
ngầm tải về khi cần thiết.
Mặc dù chúng ta có thể dùng công cụ thay đổi Theme (Theme switcher) cho các
trang chưa thành phẩm (mục đích là để thử nghiệm và xem kết quả), nhưng đây
không phải là một ý kiến hay khi áp dụng nó lên các trang web hoàn chỉnh. Công
cụ dựa trên máy chủ của bên thứ ba để chứa Theme, và bạn cũng sẽ không chắc
rằng người dùng đang nhìn thấy điều gì.
Tuy nhiên có một cách khác để kiểm tra jQuery UI Theme là dùng công cụ
ThemeRoller, chỉ dùng được trên Mozilla Firefox (xem phần Tài nguyên để tìm
đường link). Sau khi cài đặt công cụ (như một bookmarklet trong Firefox), bạn mở
thư viện và chọn Theme cần xem. Chọn một Theme và nhấn vào đường link tải về.
Sau khi tải về xong, bạn giải nén thư mục Theme ra, đặt nó vào bên trong thư mục
jQuery UI, rồi chỉnh đường dẫn những file HTML tới Theme đó.
Công cụ này hữu ích hơn nhiều so với việc chỉ đơn giản là chuyển đổi theme. Nó
cũng cho phép bạn tạo Theme tùy chỉnh dễ dàng hơn là tạo chúng bằng tay.
Tạo các Theme độc đáo
Sử dụng trang web ThemeRoller (chạy trên hầu hết trình duyệt; xem phần Tài
nguyên để tìm đường link), bạn có thể thay đổi trực tiếp trên những Theme jQuery
có sẵn để tạo ra Theme độc đáo của riêng mình. Việc này giúp bạn bỏ qua việc tạo
các Theme ngay từ đầu. Điều này cũng có nghĩa là bạn không cần phải rành về
CSS, và công cụ này cho phép bạn xem những thay đổi trực tiếp trên Theme và
Widget của bạn. Hình 4 hiển thị trang web ThemeRoller (bạn đừng bối rối về
bookmarklet của ThemeRoller chạy trên trình duyệt Firefox).
Hình 4. Trang web ThemeRoller
Nhấp vào Gallery (Thư viện) cho phép bạn chọn bất kỳ Theme hiện tại nào. Làm
như vậy để chuyển các dạng và hình ảnh CSS mà Widget mẫu sử dụng để phản
ánh những thay đổi. Nhấp vào nút Edit ở mỗi Theme sẽ mở ra cho bạn tab "Roll
Your Own", nơi bạn có thể thay đổi kiểu CSS liên quan đến Theme đó. Nếu bạn
không chọn trước một Theme để chỉnh sửa, bạn sẽ bắt đầu với tab "Roll Your
Own" nhưng không có Theme nào được chọn cả, mà chỉ đơn giản xây dựng Theme
hoàn toàn mới ngay từ đầu.
Cuối cùng, bạn nhấp chuột vào Download theme để tải về Theme được chọn chứa
các chỉnh sửa của bạn. Lưu ý rằng jQuery UI và Theme của nó hỗ trợ nhiều tính
năng của CSS3, có nghĩa rằng những tính năng chính trên trình duyệt cũng được
hỗ trợ (ngoại trừ các phiên bản trước đây của Windows Internet Explorer).
Tab "Roll Your Own" của ThemeRoller được sắp xếp rất hợp lý để bạn có thể dễ
dàng tìm và thay đổi những thứ mà bạn muốn tìm. Tab này chứa các mục thông tin
quan trọng (trong số những thông tin quan trọng khác):
Font Settings (Cài đặt phông chữ) - Cho phép những thay đổi chung cho
các font sử dụng trong suốt vòng đời của Theme.
Corner Radius (Bán kính góc) - Điều khiển việc bo góc (hay làm lõm góc)
cho các Widget.
Header/Toolbar (Tiêu đề/Thanh công cụ) - Cung cấp cái nhìn về các tiêu
đề được dùng trong các Widget khác nhau.
Content (Nội dung) - Cung cấp các thiết lập để điều chỉnh nội dung chính
của Widget.
Clickable - Điều khiển các vùng khác nhau mà Widget sử dụng.
Khi nhấn qua các tùy chọn, bạn sẽ nhận thấy nhiều điều thú vị về việc xây dựng
các Theme này. Ví dụ, Theme jQuery UI tận dụng lợi thế của các Textures. Để
xem cách sử dụng chúng, nhấn vào Header/Toolbar trong ThemeRoller. Sau đó
nhấn chọn nút bấm có màu ở giữa. Một bảng Drop-down chứa các mẫu được chọn.
Các mẫu Texture được chọn sẽ được kết hợp với màu nền mà bạn đã chọn để xuất
ra mẫu sử dụng cho tiêu đề và thanh công cụ. Đây là một trong những cách sử
dụng Texture. Cũng có những cách khác thông qua Theme jQuery UI. Ví dụ, thay
đổi Texture trong "Clickable: default state" để thấy rằng những thay đổi đó ảnh
hưởng đến các Button của Theme được chọn như thế nào.
Một tính năng thú vị của Theme jQuery UI là sử dụng các cách đánh dấu và báo lỗi
(hay còn gọi là các dấu hiệu trực quan). ThemeRoller cung cấp các control hoàn
chỉnh về các dấu hiệu trực quan này để hiển thị cho người dùng. Các Texture, màu
nền, góc đường viền, màu chữ, và thậm chí màu của biểu tượng (icon) cũng có thể
được thay đổi ( nếu một icon được hiển thị như là dấu hiệu). Tên của chúng được
hiển thị trong ThemeRoller, vì thế bạn chỉ đơn giản sử dụng những tên này trong
website của bạn để có nhiều kiểu hiển thị cho người dùng.
Việc thay đổi các thiết lập khác nhau cũng làm thay đổi đường dẫn URL trên trình
duyệt của bạn. Liệt kê 6 cho thấy đường URL mẫu.
Liệt kê 6. Mẫu đường dẫn URL ThemeRoller
serif&
fwDefault=bold&fsDefault=1.1em&cornerRadius=8px&
bgColorHeader=817865&bgTextureHeader=07_diagonals_medium.png&
bgImgOpacityHeader=45&borderColorHeader=494437&fcHeader=ffffff&
iconColorHeader=fadc7a&bgColorContent=feeebd&
bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&
borderColorContent=8e846b&fcContent=383838&iconColorContent=d19405&
bgColorDefault=fece2f&bgTextureDefault=16_diagonal_maze.png&
bgImgOpacityDefault=60&borderColorDefault=d19405&fcDefault=4c3000&
iconColorDefault=3d3d3d&bgColorHover=ffdd57&bgTextureHover=12_gloss_w
ave.png
&bgImgOpacityHover=70&borderColorHover=a45b13&fcHover=381f00&
iconColorHover=bd7b00&bgColorActive=ffffff&bgTextureActive=05_inset_soft.
png&
bgImgOpacityActive=30&borderColorActive=655e4e&fcActive=0074c7&
iconColorActive=eb990f&bgColorHighlight=f5d361&
bgTextureHighlight=22_spotlight.png&bgImgOpacityHighlight=100&
borderColorHighlight=ee5320&fcHighlight=1f1f1f&iconColorHighlight=ed9f26&
bgColorError=d34d17&bgTextureError=07_diagonals_medium.png&
bgImgOpacityError=20&borderColorError=ffb73d&fcError=ffffff&
iconColorError=ffe180&bgColorOverlay=5c5c5c&bgTextureOverlay=01_flat.png
&
bgImgOpacityOverlay=50&opacityOverlay=80&bgColorShadow=cccccc&
bgTextureShadow=01_flat.png&bgImgOpacityShadow=30&opacityShadow=60&
thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&
cornerRadiusShadow=8px
Bạn hãy lưu lại đường dẫn URL để sau này có thể quay lại và thay đổi các thiết
lập. Ví dụ, sao chép đường dẫn URL mà bạn đã có những thay đổi và lưu nó vào
một nơi lưu giữ an toàn. Bây giờ, bạn hãy đóng trình duyệt lại (hay trang tab trong
trình duyệt mà đang mở trang ThemeRoller) and reopen it using the copied URL.
As you can see, all of your modifications are back, ready for further modifications.
Kết luận
Chúng ta có thể thảo luận nhiều hơn về các thành phần cốt lõi của jQuery UI,
nhưng bạn nên có những kiến thức nền tảng để bắt đầu với Theme jQuery UI. Bạn
đã thấy cấu trúc các thư mục và file cho phép bạn chỉnh sửa Theme. Bạn có thể
xem và sử dụng các file này như là điểm khởi đầu để tạo Theme cho chính mình
khi bạn sẵn sãng.
Bài này mô tả tổng quan về ThemeRoller và các trang web liên quan hỗ trợ việc
chỉnh sửa các Theme có sẵn cũng như tạo mới một Theme ngay từ đầu. Cuối cùng,
bạn cũng đã khám phá quá trình lưu và khôi phục các thay đổi của Theme trên
trang web ThemeRoller.