text:
Giới thiệu
JQuery đã phát triển nhanh chóng và phổ biến trong sáu tháng qua để trở thành một thư viện JavaScript được lựa chọn cho các nhà phát triển Web. Điều này trùng với sự tăng trưởng nhanh chóng về sử dụng và nhu cầu về Ứng dụng Internet phong phú-RIAs, sẽ thay thế các ứng dụng trên máy tính để bàn bằng các ứng dụng dựa trên trình duyệt. Tất cả mọi thứ, từ các bảng tính đến bảng lương và ứng dụng thư điện tử lặp lại kinh nghiệm của máy bàn trong trình duyệt. Vì rằng các ứng dụng này trở nên nhiều và phức tạp hơn, nên thư viện JavaScript sẽ trở nên quan trọng hơn bao giờ hết với vai trò là nền tảng vững chắc để xây dựng trên đó. JQuery là nền tảng lựa chọn đối với các nhà phát triển. Loạt bài này khám phá jQuery sâu hơn và cung cấp một nền tảng vững chắc mà từ đó bất kỳ nhà phát triển nào cũng có thể xây dựng một RIA nhanh chóng và dễ dàng.
Trong bài viết trước, bạn đã học những điều căn bản của jQuery, bao gồm cách thiết lập jQuery trong môi trường phát triển của bạn và cách mà các hàm lõi của nó làm việc. Bạn biết được cách jQuery làm cho việc tìm và phát hiện dễ dàng các phần tử trên trang với các phương thức chọn và lọc và cách mà bạn có thể tìm thấy chính xác những phần tử đơn hoặc các nhóm phần tử mà bạn đang tìm kiếm. Tiếp theo bạn đã đến các phương thức khác nhau mà jQuery cung cấp cho bạn để duyệt các kết quả đã chọn, với nhiều hàm giống như những hàm mà bạn quen thuộc trong các ngôn ngữ lập trình khác. Cuối cùng, bạn đã đến một điều khiển mẫu, hộp chọn Select All/Deselect All và thấy cách jQuery có thể thực hiện được điều khiển này chỉ bằng một vài dòng mã.
Trong bài viết này, bạn hãy mở rộng kiến thức về jQuery của mình bằng cách xem xét hàm nhấp nháy, và thêm "phong phú" thực sự vào ứng dụng Internet cũ đơn sơ của mình để bạn có thể biến một ứng dụng RIA thành một ứng dụng quảng cáo. Trước tiên, tôi sẽ bắt đầu bằng việc chỉ cho bạn biết cách jQuery xử lý sự kiện. Sự kiện được định nghĩa là một cú nhấp chuột, tô sáng mầu, kéo chuột, vv… Lưu ý rằng các sự kiện này không giới hạn chỉ các nút và những thứ tương tự, mà chúng còn có thể được thực hiện để xử lý một cú nhấp chuột vào bất kỳ lệnh div, span, vv… nào . Tiếp theo, tôi sẽ chuyển sang thảo luận cách có được và thiết lập các thuộc tính trên các đối tượng trong trang Web. Nó bao gồm cách để có được văn bản từ các phần tử khuôn dạng innerHTML từ divs, và thậm chí cách tìm ra lớp nào được gắn với phần tử nào. Phần cuối sẽ thảo luận cách để sửa đổi các đặc tính CSS của các phần tử trang, mà không cần phải tải lại trang hoặc điều chỉnh tờ kiểu dáng bên ngoài.
Ứng dụng mẫu sẽ bao gồm tất cả mọi thứ trong các thanh điều khiển phụ đối với các ứng dụng thư tín trên Web, chỉ cho bạn biết cách có thể tạo một ứng dụng phía khách đa dạng, thay đổi màu sắc, kích thước và vị trí của các đối tượng dựa trên tương tác với trang. (Các tương tác này hiện thời giới hạn ở ứng dụng phía khách — bài tiếp sẽ bổ sung các tương tác phía máy chủ). Kết thúc bài này, bạn sẽ có tất cả các công cụ của jQuery để tạo RIA của riêng bạn và gây ấn tượng cho khách hàng của bạn.
Mô-đun các sự kiện - Events
Mô-đun Events trong jQuery thực sự là bước đầu trong việc xây dựng tương tác với ứng dụng Web, vì rằng các sự kiện thường là các kích hoạt cho những gì sẽ xuất hiện trên trang. Như tôi đã chỉ rõ trong phần giới thiệu, bạn không nên nghĩ rằng các sự kiện chỉ xảy ra với phần tử Form — trên thực tế, bất kỳ phần tử nào cũng có thể kích hoạt sự kiện, và bạn có thể tận dụng lợi thế này để xây dựng một điều khiển tùy chỉnh dễ dàng hơn và thêm vài tương tác có thể là duy nhất và không bị gắn với bản thân phần tử Form cụ thể.
Điều đó có nghĩa hầu hết các sự kiện được dựa trên các phần tử Form, và việc trình diễn mỗi
phương thức này nhờ sử dụng chúng là điều dễ dàng nhất. Trước khi đi sâu vào các hàm sẵn
có, bạn hãy lưu ý rằng mô-đun Events đi sau một khuôn mẫu nhất định cho từng hàm. Mỗi
hàm sự kiện đều có hai dạng: dạng không có bất kỳ đối số nào, và dạng có chứa một hàm
làm đối số. Sự khác biệt giữa hai dạng này rất quan trọng, và nó nhất quán cho từng hàm.
Hàm không có tham số thực sự sẽ kích hoạt sự kiện đó. Nói cách khác, gọi hàm
click() thực sự sẽ làm cho các nút được nhấn vào. Câu
click(function) sẽ được gọi khi nút đó thực sự được nhấn, hoặc
khi hàm
click() được gọi. Lẫn lộn không? Có lẽ đây chỉ là sự
mô tả, nhưng khi bạn xem một ví dụ, nó sẽ trở nên rõ ràng.
Liệt kê 1. Các phương thức sự kiện của jQuery
// make the "myButton" click. This will cause the button to click and any actions // tied to it will occur - for example, it could submit a form, or other // jQuery actions could be tied to it. $("#myButton").click(); // use jQuery to setup what will actually happen when the "myButton" is // actually clicked. $("#myButton").click(function(){ $("#myDiv").toggle(); }); // A common pattern in jQuery when setting up actions on a page is to trigger the // action to occur initially when the page is loaded. This occurs frequently // with AJAX setups, where the values come from the server. // In this example, the myDiv has its visibility toggled every button click. When // the page is loaded, we call click() immediately, which toggles the view // as soon as the page views (not a practical example, but you should see the design) $("#myButton").click(function(){ $("#myDiv").toggle(); }).click();
Các sự kiện mà tôi liệt kê dưới đây tất cả theo thiết kế mà tôi mô tả ở trên và có hai hàm liên kết với chúng. Ở đây tôi chỉ liệt kê một cách ngắn gọn các hàm đầu tiên:
blur()- Được gọi bất cứ khi nào một phần tử Form bị mờ nét, giống như khi một trường văn bản rõ nét bị làm mờ
change()- Được gọi khi một phần tử Form bị mờ nét và giá trị của nó đã thay đổi kể từ khi nó được làm rõ nét. Internet Explorer và Firefox xử lý vấn đề này hơi khác nhau.
click()- Được gọi khi một phần tử trang (không nhất thiết phải là một phần tử Form) được nhấn vào
dblclick()- Được gọi khi một phần tử trang (không phải là một phần tử Form) được nhấn vào
error()- Được gọi khi có một lỗi bên trong trên phần tử, khác nhau giữa các trình duyệt, và có lẽ nhiều người không thấy điều này
focus()- Được gọi là khi một phần tử Form được làm rõ nét
keydown()- Được gọi bất cứ khi nào một phần tử trang có một phím nhấn được thực hiện trên nó/trong nó
keyup()- Được gọi bất cứ khi nào một phần tử trang có một phím nhấn được thực hiện trên nó/trong nó
keypress()- Được gọi khi một nhấn phím và nhả phím được thực hiện kế tiếp nhanh trên cùng một phần tử
select()- Được gọi khi một văn bản được chọn trong trường văn bản, và không phải khi mọi việc được lựa chọn trong một hộp kết hợp (đó là một sự kiện thay đổi)
submit()- Được gọi khi một phần tử Form được đệ trình
Có các hàm phụ không tuân theo mẫu tôi đã nêu ở trên và chỉ chứa một hàm đơn mà bạn có thể gọi. Tôi sẽ liệt kê các ngoại lệ ở đây, vì chúng không thường được sử dụng:
resize(fn)- Được gọi khi một đối tượng được thay đổi kích cỡ
scroll(fn)- Được gọi là khi một khung nội tuyến được cuộn
load(fn)/unload(fn)- Xảy ra khi đối tượng được tải lên/bị dỡ khỏi trang
Cuối cùng, một số sự kiện được gắn với chuột, như bạn mong đợi. Tôi đã kèm các sự
kiện này trong phần thứ ba của chúng, vì chúng thường bị lạm dụng, và jQuery, do đã nhận
thức được điều này, nên đã thay thế vài sự kiện bằng các hàm duy nhất. Chúng có mặt ở
đây chỉ để ánh xạ trực tiếp đến các sự kiện DOM cơ bản, nhưng đối với đích thực hành, có
các phương thức thay thế mà bạn có thể sử dụng thay vì sự kiện. Các phương thức
mousedown(fn) và
mouseup(fn) được gọi
khi chuột được nhấn hoặc được nhả ra trên một phần tử. Tuy nhiên, thường thì phương thức
click() nên được gọi thay thế, vì nó cũng sẽ được trả lại
như sự kiện, và nó phù hợp với hành vi mong đợi hơn và ít dễ gây lỗi. Hãy tưởng tượng
những gì xảy ra khi người dùng nhấn chuột vào một nút của họ, và nhận ra đó là một sai
lầm và di chuyển con chuột khỏi nút trước khi nhả chuột. Nếu họ nhả chuột trên một phần
tử trang khác với phương thức
mouseup(fn) đã xác định, thì
hành vi nào sẽ diễn ra? Lý tưởng nhất là việc sử dụng hai hàm đó được giới hạn trong
giao diện kéo và thả, nơi mà cú nhấp chuột sẽ không làm thay thế thích hợp.
Hai phương thức cuối cùng của mô-đun Sự kiện,
mouseover(fn) và
mouseout(fn), là khá phổ biến trong hầu hết các trang web hiện
tại. Chúng được sử dụng để hiển thị giúp di chuột, hộp nổi để hiển thị hình ảnh và thay
đổi màu theo vị trí của con trỏ chuột. JQuery nhận thức rằng hai hàm đó sẽ được sử dụng
khá thường xuyên và cũng nhận ra rằng hầu hết mọi người sẽ không sử dụng chúng một cách
chính xác, dẫn đến vô số lỗi. Đây không phải là mọi người có chủ đích đưa lỗi vào mã của
họ, mà là họ không có khả năng mã hóa cho các thành phần lồng nhau và phức tạp khác của
trang. Vậy, jQuery đã thêm một phương thức vào mô-đun Sự kiện để thay thế hai hàm đó, đó
là hàm
hover(fn1, fn2).
Liệt kê 2. Phương thức di chuột của jQuery
// This demonstrates the hover() function as implemented by jQuery. You define two // functions: what happens when the mouse moves over the specified element // and what happens when the mouse moves off the element. // In this example, each row in a table will get a red background when // the mouse moves over it and a white background when the mouse leaves. $("tr").hover(function(){ $(this).css("background","#0000ff"); }, function(){ $(this).css("background","#ffffff"); });
Các thuộc tính
Một phần của những gì làm cho một trang tương tác được là khả năng lấy thông tin nhất định từ một vùng của trang và chuyển nó đến một vị trí khác. Ví dụ này là việc cụ thể nhận thông tin từ một trường văn bản và đặt nó vào một bảng, hoặc nó có thể là một ví dụ rộng hơn như lấy thông tin từ hộp kết hợp, chuyển nó đến máy chủ, và đưa các phản hồi từ máy chủ vào các hộp kết hợp khác. Tại phần lõi của nó, tính tương tác là kết quả của việc chuyển giao thông tin trên trang.
Có nhiều cách khác nhau để lưu trữ thông tin trên một trang, và các cách đặc biệt khác để lưu trữ thông tin trong các phần tử riêng trên trang. Có lẽ bạn tưởng tượng phần tử
 đơn giản sẽ không chứa thông tin nhiều như một trường văn bản (điều này có thể đúng hoặc không), và kết quả là có những hàm khác nhau để truy cập thông tin này. Tương tự như vậy, bạn có thể kết luận rằng đối với mỗi cách để có được thông tin từ một phần tử trang, bạn cũng có thể thiết lập thông tin về những phần tử đó. Thực tế, mỗi phần tử trang là một đối tượng dữ liệu, chứa các biến được đóng gói bằng phương thức getter/setter. Sự khác biệt giữa mô hình JavaBean này và những gì thực sự xảy ra trong jQuery là các tên của phương thức và giới hạn mà một số phần tử không phù hợp với một số hàm nhất định.
Trước khi đi sâu vào những phương thức này, chúng ta xem những thông tin nào có thể được lưu trữ trong các phần tử trang. Một số thẻ đơn giản như
 chỉ có thể chứa CLASS hoặc ID làm thông tin. Một thẻ nào đó, chẳng hạn như có thể chứa nhiều thông tin hơn, chẳng hạn "src", "alt", "width", và "height". Cuối cùng là các thẻ phức tạp như <input type="password"> có thể chứa những thông tin như "defaultValue", "maxLength", " readOnly ", hay "Accesskey".
Tính đa dạng của
các biến tiềm năng đã buộc jQuery phải tạo hàm tổng quát để truy cập chúng. Hàm này là
attr(name) và là cách tổng quát để truy cập thông tin từ
bất kỳ phần tử trang nào. Ta hãy xem một số ví dụ để xem cách nó hoạt động như thế nào.
Liệt kê 3. Hàm jQuery attr()
 // Calls to the attr() function will return the following $("#spacer").attr("src"); // will return "/images/space.gif" $("#spacer").attr("alt"); // will return "blank" // Similarly, you can access the ID in the same way $(img).each(function(){ $(this).attr("id"); // will return "spacer" });
Hàm này trở nên rất hữu ích khi bạn đang cố thêm tương tác trên một trang và thực hiện nó một cách gọn. Thực tế, trước khi các hàm data() được thêm (xem liệt kê bên dưới), bạn thường phải đưa các thông tin bạn cần vào một trong những biến có sẵn. Ví dụ, nếu bạn đã có một trang với hai khung, khung đầu tiên hiển thị các nhãn và khung phía dưới hiển thị nội dung của mỗi nhãn, thì bạn có thể thiết lập một trang như sau:
Liệt kê 4. Hàm attr() hoạt động

Messages
 	 // This code would appear in the jQuery section. Notice how we get the ID from the tab, // and use that information to set the bottom frame, named 'content' with the content // on the page "messages.jsp" $(".tab").click( function() { window.parent.frames['content'].location = $(this).attr("id"); });
Ngoài việc nhận các giá trị thuộc tính trên mỗi phần tử, bạn cũng có thể thiết lập các giá trị. Điều này đã tác động đến việc thay đổi hình dạng hoặc các hành vi của phần tử về mặt lập trình.
Liệt kê 5. Thay đổi thuộc tính bằng hàm attr(str)
// will change the image source, and the image displayed on the page will change $("img").attr("src", "myimage.jpg"); // will change all the links on the page to go to one specific page $("a").attr("href", "mypage.html"); // will change the maxLength on all password fields to 10 characters $(":password").attr("maxLength", "10");
Các phần tử Form trên một trang có hàm đặc biệt có thể được gọi trên các phần tử đó để có lấy giá trị gắn liền với chúng. Điều này đặc biệt tiện khi làm việc với các khuôn dạng và kiểm chứng, và bạn sẽ có khả năng sử dụng các hàm này khá thường xuyên khi tạo các trang Web tương tác với các phần tử Form.
Liệt kê 6. Các hàm val() của phần tử Form
// will get the text contained in the text field and check that it's not blank $(":textfield").each(function(){ // use the val() function to get the text inside the textfield if ($(this).val() == "") $(this).next().text("Error"); }); // on a new password page, this will compare the new one with the confirmation, // to make sure they are equal if ($("#newPassword").val() != $("#confirmPass").val()) $("#newPassword").next().text("Error");
Ngoài ra có các hàm cho phép bạn lấy thông tin trong các thẻ nhất định. Tại sao điều này lại có
ích? Vâng, bạn có thể nhận tất cả thông tin trong một thẻ  nhất định, và thay
thế nó, hoặc bạn có thể biến tất cả các văn bản trong thẻ
 thành chữ thường. Có
hai cách riêng biệt để nhận được những thuộc tính này, và bạn không thể sử dụng hàm
attr() như vậy. Giống như tất cả các hàm thuộc tính khác, chúng cũng có các phương thức
thiết lập tương ứng. Đầu tiên là hàm
html() trả về tất cả các
innerHTML của một thẻ nhất định. Thứ hai là thẻ
text() trả về
tất cả các văn bản bên trong của một thẻ nhất định. Sự khác biệt là gì? Hàm
html() sẽ trả về văn bản bao gồm các thẻ HTML, trong khi thẻ
text() sẽ bỏ các thẻ và chỉ trả về văn bản bên trong. Ta
hãy xem các ví dụ sau để xem cách chúng khác nhau như thế nào.
Liệt kê 7. Hàm html() so với hàm text()
// this will examine every  tag, and if the value is blank, it will insert // a "-" into it, as a placeholder. $("td").each(function(){ // check the text of the table cell if ($(this).text() == "") $(this).text("-"); }); // this will convert every paragraph's text to lowercase $("p").each(function(){ var oldText = $(this).text(); var newText = oldText.toLowerCase(); $(this).text(newText); }); <-- This shows the difference between text() and html() -->
This is the example
 $("#sample").html(); // will return " This is the example" $("#sample").text(); // will return "This is an example"
Cuối cùng, phần vừa mới thêm vào thư viện jQuery cho các thuộc tính là chức năng data(). Chức năng phát triển bên ngoài dự án giao diện người dùng jQuery và gần đây đã được tích hợp vào dự án jQuery tổng thể. Về bản chất, các nhà phát triển dự án giao diện người dùng cảm thấy họ không muốn "tấn công" các thuộc tính có sẵn cho một vài phần tử trang và muốn có một cách để tạo các thuộc tính riêng của mình, càng nhiều càng tốt, mà trên đó họ có thể lưu thông tin. Trở lại ví dụ về các thẻ ở trên. Tôi "tấn công" liên kết bên trong ID của DIV, có thể không phải là phương thức lý tưởng. Tuy nhiên, do hạn chế của phiên bản trước của jQuery, đây là sự lựa chọn duy nhất. Với việc đưa vào các hàm data(), bạn có thể cung cấp giải pháp tao nhã hơn đối với vấn đề này. Hãy nghĩ rằng các hàm data() như một cách để truy cập vào sơ đồ trong, có trên mỗi phần tử trang. Sơ đồ đơn giản chỉ là một tập hợp của các cặp khóa-giá trị. Điều này cho phép các nhà phát triển tạo bất kỳ thuộc tính tùy chỉnh họ muốn cho một phần tử trang và gán giá trị cho thuộc tính đó. Về sau điều này có thể dẫn đến mã đơn giản hơn, và vì rằng dự án ngày càng phát triển hơn, nên dễ dàng bảo trì hơn. Hãy viết lại ví dụ trên bằng cách sử dụng hàm data() mới:
Liệt kê 8. Hàm data() mới
// create the div like we did above, but without any specific information. In this // way we can create a generic HTML layout and customize it in our jQuery code.

 	 // Now customize each tab in the jQuery code. $(".tab").eq(0).text("Messages"); $(".tab").eq(0).data("link", "messages.jsp"); $(".tab").click(function(){ window.parent.frames['content'].location = $(this).data("link"); }); // Taking this a step further, you can picture all this information coming from // an external properties file via a Java array. This would be the code on a JSP // page. <% // array containing tab names String[] tabNames; // array containing tab links String[] links; for (int i=0; i<tabNames.length; i++) { %> $(".tab").eq(<%=i%>.text("<%=tabNames[i]%>"); $(".tab").eq(<%=i%>).data("link", "<%=links[i] %>); <% } %> $(".tab").click(function(){ window.parent.frames['content'].location = $(this).data("link"); });
Thao tác CSS
Phần cuối cùng của bài học này là thao tác CSS động trên trang web mà không cần điều chỉnh các tờ mẫu hoặc tải lại trang. Điều này sẽ cho chúng ta khả năng thêm một số hiệu ứng cơ bản vào trang bằng cách thay đổi những thứ đơn giản như màu sắc, phông chữ vv... Phần CSS của jQuery thực sự là nguồn cảm hứng ban đầu cho toàn thư viện. Đích là để làm cho lập trình CSS trở nên dễ dàng hơn trên trang web và, như bạn thấy, dự án đã phát triển đáng kể từ lúc đó. Ý định ban đầu của dự án vẫn còn tồn tại, và jQuery cung cấp các phương thức để lập trình với CSS trở nên dễ dàng hơn nhiều. Tuy nhiên, tôi sẽ chỉ cho bạn thấy rằng hàm truyền thống mà jQuery cung cấp cho thao tác CSS không thực sự thích hợp với môi trường Web hiện nay, và tôi sẽ chỉ cho bạn hàm khác (cũng trong jQuery) mà bạn nên sử dụng thay thế.
Hai hàm cơ bản để thao tác CSS trên trang web cho phép bạn nhập một thuộc tính đơn như một chuỗi và sau đó nhập một giá trị như một chuỗi, hoặc bạn có thể truy cập vào một mảng của chuỗi/giá trị chuỗi cùng một lúc. Cả hai hàm cùng làm một việc và sẽ thay đổi dễ dàng CSS trên trang web.
Liệt kê 9. Các hàm css()
// change the background of every div to red $("div").css("backgroundColor", "#ff0000"); // - or - $("div").css("backgroundColor", "red"); // - or - $("div").css({backgroundColor: "#ff0000"}); // notice the braces and lack of quotes
Bạn có thể thấy rằng các hàm này khá đơn giản, và bạn có thể chọn chúng ngay lập tức. Tuy nhiên, bạn cũng nên xem các vấn đề đi với các hàm đó khi xét xu hướng hiện nay trong thiết kế trang web. Các trang web bình thường có kiểu tách khỏi trang này và được đặt trong một tệp ngoài hoặc trong một phần của mã, trong tờ mẫu. Bạn có thể hoàn toàn không muốn đặt mã kiểu vào trong mã JavaScript nếu bạn có thể giúp làm việc này. Điều đó sẽ làm thay đổi tương lai đến nhìn về khó khăn tại trang Web.
May mắn thay, ta có các hàm thay thế cho phép làm việc tốt là tách biệt các thao tác bạn cần, trong khi vẫn để thao tác CSS dễ dàng và đơn giản. Các hàm này cho phép bạn thêm và bớt các lớp từ các phần tử trang. Bằng cách đặt kiểu dáng cho các lớp này tại các tờ mẫu bên ngoài, bạn có thể giữ sự tách biệt về kiểu, dữ liệu và các sự kiện, là điều nặng nề trong trang phức tạp. Ta hãy xem một vài ví dụ:
Liệt kê 10. Các thao tác CSS được ưa chuộng - addClass() và removeClass()
// will add the "input_error" class to any form elements that fail to validate // you can picture the "input_error" class in the external CSS file defining // a red border and red text $(":textfield").each(function(){ if ($(this).val() == "") { $(this).next().text("Error"); // this will turn the text field's border/text red $(this).addClass("input_error"); } // this tests if the text field has the class attached already else if ($(this).hasClass("input_error")) { $(this).next().text(""); // this will remove the class, restoring a normal border/text $(this).removeClass("input_error"); } });
Như bạn thấy từ ví dụ trên, việc điều chỉnh CSS bằng tham chiếu đến lớp được định nghĩa tại tờ mẫu là cách tốt hơn để thao tác CSS trên trang web. Nó cho phép người tạo trang Web thay đổi cách xử lý thông báo lỗi trên toàn bộ trang web bằng cách thay đổi tờ mẫu, thay vì cố gắng tìm kiếm từng cá thể của mã này, như được yêu cầu gọi phương thức css() trước đó. Mặc dù các phương thức đó dễ sử dụng, và đơn giản, chúng không thực là giải pháp cho ứng dụng Web lớn và nên tránh sử dụng khi ta ưu tiên các phương thức addClass() và removeClass().
Kết hợp tất cả lại với nhau
Để kết hợp tất cả lại với nhau, ta hãy xem lại ví dụ. Đó là một ứng dụng web với tính tương tác nhằm tạo một RIA và cho người dùng những ấn tượng về làm việc với một ứng dụng máy tính để bàn cho thư điện tử của họ. Trong ví dụ này bạn sẽ sử dụng các mô-đun sự kiện, thuộc tính và CSS để định nghĩa cách ứng dụng thư điện tử trên Web mail xử lý các cú nhấn chuột đơn và nhấn chuột đúp. Bạn có thể xem các hành vi mong đợi từ ảnh chụp màn hình dưới đây. Khi một người dùng nhấp chuột đơn trên một dòng của bảng, hàng sẽ thay đổi màu sắc để làm nổi bật lựa chọn hiện tại của người dùng. Khi người dùng nhấp chuột đúp vào tin nhắn, nó sẽ cho phép người dùng đọc tin, và còn thay đổi màu nền của hàng nếu người dùng đang đọc một tin mới, chỉ ra rằng tin đó không còn là tin chưa đọc nữa.
Hình 1. Nhấn chuột đơn vào một hàng
Hình 2. Nhấn chuột đúp vào một hàng
Liệt kê 11. Kết hợp tất cả lại với nhau
// First we add the rows to the table. Each row is a member of the "messageRow" class. // We also give an ID to each row, and this ID is the message number itself, which is // gotten from the Java data object. Keep in mind this sits in a for loop in a JSP file. <% for (int i=0; i<messages.size(); i++) { MessageData message = messages.get(i); %> <tr class="messageRow" id="<%=message.id %>"> // Now that the table has been laid out, we can define our jQuery code to capture single // mouse clicks and double mouse clicks. // Notice how we capture a single click on the table row with the click() function. Next // notice how we use addClass() and removeClass() instead of manipulating the CSS // directly with a css() function. This lets us change the stylesheet underneath // the code without modifying our jQuery code. $(".messageRow").click(function() { $(".messageRow").removeClass("message_selected"); $(this).addClass("message_selected"); }); // Now we capture the double click on a table row. Ignore the AJAX methods with the // post() function, which we'll get to in the next article. // We use the dblclick() function here to capture double clicks. // Notice in the AJAX call, how we get the ID out of the table row that was double // clicked. // We pass this ID to the server in order to get the information about the message back // from the server. We defined the message number in the JSP code, so that the ID // contained the message number. $(".messageRow").dblclick(function() { if ($(this).hasClass("mail_unread")) { $(this).removeClass("mail_unread"); } $.post("<%=HtmlServlet.READ_MESSAGE%>.do", { messageId: $(this).attr("id"), view: "<%=view %>"}, function(data){ // Do AJAX stuff here }); }); });
Kết luận
Tầm quan trọng của thư viện JavaScript như jQuery sẽ tiếp tục phát triển vì các ứng dụng đang chuyển từ máy tính để bàn sang trình duyệt. Các ứng dụng này sẽ tiếp tục càng ngày càng phức tạp, khiến nền tảng vững chắc qua trình duyệt như jQuery trở thành điều cần thiết trong bất kỳ dự án ứng dụng Web nào. JQuery bản thân nó đã bắt đầu vượt xa các thư viện khác của JavaScript và đang trở thành thư viện được lựa chọn của nhiều nhà phát triển do tính dễ sử dụng và khả năng của để làm tất cả mọi thứ mà họ cần nó làm.
Trong bài thứ hai trong loạt bài này,
bạn đã mở rộng kiến thức về jQuery của mình bằng cách xem các tương tác trên trang Web
và thấy cách đạt được tương tác cơ bản trên máy khách (mà không cần nhận được thông tin
từ máy chủ). Bạn đã bắt đầu bằng cách xem các mô-đun sự kiện, mà định nghĩa cách các
phần tử trang tương tác với vô số các tương tác, bao gồm tương tác chuột, tương tác bàn
phím và tương tác làm nổi bật. Bạn đã thấy rằng các sự kiện là trình điều khiển lớn cho
tương tác trên các trang Web, và rằng chúng không nhất thiết phải được gắn liền với các
phần tử Form để được sử dụng. Sau đó tôi chuyển sang thảo luận về các thuộc tính, và
cách lấy phù hợp các thuộc tính từ các phần tử trang và đặt chúng trên đó. Bạn thấy rằng
hàm
attr() dùng chung có thể được sử dụng chung trên mọi phần
tử, và rằng các phần tử Form có các hàm đặc biệt để lấy giá trị của chúng. Bạn cũng thấy
một bổ sung mới vào jQuery, đó là hàm data(), nó phục vụ như là một loại HashMap trên
tất cả các phần tử trang, cho phép người lập trình tạo bất kỳ thuộc tính nào mà họ có
thể cần đến. Cuối cùng bạn xem xét cách thay đổi CSS của một phần tử trang mà không cần
tải lại trang. Bạn đã thấy rằng khi hàm css() trở nên dễ dàng và đơn giản, thì nó có lẽ
là mối quan tâm lớn của bạn và nhóm của bạn để thay thế các hàm này bằng các hàm
addClass() và removeClass(), để giữ được kiểu dáng của trang được tách ra từ mã jQuery.
Phần cuối cùng của bài kết hợp ba mô-đun bạn đã học được với nhau và cho bạn biết cách ứng dụng thư tín Web mẫu xử lý tương tác với chuột, sự khác biệt giữa nhấp chuột đơn - bằng cách làm nổi bật một hàng được nhấn chuột, với nhấn chuột đúp, đánh dấu tin nhắn là "chưa đọc" nếu đúng và sau đó thực hiện cuộc gọi Ajax đến máy chủ cho các dữ liệu thông điệp cụ thể, chuyển số tin nhắn đến máy chủ trong tiến trình.
Trong phần tiếp theo của loạt bài viết, chúng ta sẽ xem xét sâu hơn chức năng Ajax trong jQuery và xem cách nó bỏ nhiều thứ phức tạp khi làm việc với Ajax, làm cho nó trở nên đơn giản như gọi hàm JavaScript, như điều mà bạn thường làm. Ngoài ra, chúng ta sẽ xem xét mô-đun Effects trong jQuery, nó hữu ích cho việc tạo các tương tác bổ sung và các tác động đến thị giác của người sử dụng — và nói một cách thẳng thắn, nó cũng rất tuyệt! Phần cuối cùng của bài tiếp theo sẽ là ứng dụng thư điện tử Web để trình diễn và dạy về jQuery, hy vọng sẽ thuyết phục được bạn rằng nên thêm thư viện này vào ứng dụng Web của riêng mình.
Các tải về
Tài nguyên
Học tập
- Tải xuống jQuery phiên bản 1.2.6 lược giản, đây là phiên bản ổn định mới nhất tại thời điểm của bài viết này, và thả nó và trong mã của riêng bạn.
- Tìm hiểu trang API đầy đủ của jQuery để xem tất cả các hàm có sẵn trong thư viện.
- Bạn lo lắng về khả năng tương thích của jQuery qua trình duyệt? Hãy xem danh sách các hỗ trợ qua trình duyệt tại đây.
- Xem các hiệu ứng cao cấp thực sự tuyệt mà bạn có thể tạo bằng jQuery.
- Tải về một nền tảng toàn diện và đầy đủ về CSS, JavaScript, và về bất kỳ ngôn ngữ web nào khác tại trang W3Schools.
- Đọc tổng quan chung về jQuery trong bài giới thiệu "Đơn giản hóa sự phát triển Ajax với jQuery", (Jesse Skinner, developerWorks, tháng 4/2007).
- Bài viết "Xem xét toàn bộ Ajax, Phần 2: Tân trang các trang web hiện có với jQuery, Ajax, các mẹo công cụ và ứng dụng lightbox" (Brian Dillard, developerWorks, tháng 5/2008) là một bài nghiên cứu một số các trình cắm thêm sẵn có cho jQuery và nói về cách chúng mở rộng tính hữu dụng của thư viện.
- Mở rộng kỹ năng phát triển Web của bạn với các bài báo và các hướng dẫn chuyên về công nghệ Web tại vùng phát triển web của trang developerWorks.
Thảo luận
- Hãy tham gia vào blog của trang developerWorks và tham gia vào cộng đồng developerWorks.
Bình luận
-
Vùng dữ liệu trên developerWorks
Khám phá các bài viết xoay quanh lĩnh vực dữ liệu, Quản lý hệ thống thông tin
-
Vùng mã nguồn mở trên developerWorks
Xem các bài viết về HTML, CSS, JavaScript,...
-
Điện toán đám mây
Tìm hiểu về điện toán đám mây

markdown:
## Giới thiệu
JQuery đã phát triển nhanh chóng và phổ biến trong sáu tháng qua để trở thành một thư viện JavaScript được lựa chọn cho các nhà phát triển Web. Điều này trùng với sự tăng trưởng nhanh chóng về sử dụng và nhu cầu về Ứng dụng Internet phong phú-RIAs, sẽ thay thế các ứng dụng trên máy tính để bàn bằng các ứng dụng dựa trên trình duyệt. Tất cả mọi thứ, từ các bảng tính đến bảng lương và ứng dụng thư điện tử lặp lại kinh nghiệm của máy bàn trong trình duyệt. Vì rằng các ứng dụng này trở nên nhiều và phức tạp hơn, nên thư viện JavaScript sẽ trở nên quan trọng hơn bao giờ hết với vai trò là nền tảng vững chắc để xây dựng trên đó. JQuery là nền tảng lựa chọn đối với các nhà phát triển. Loạt bài này khám phá jQuery sâu hơn và cung cấp một nền tảng vững chắc mà từ đó bất kỳ nhà phát triển nào cũng có thể xây dựng một RIA nhanh chóng và dễ dàng.
Trong
[bài viết
trước](http://www.ibm.com/developerworks/vn/library/wa-jquery1), bạn đã học những điều căn bản của jQuery, bao gồm cách thiết lập jQuery
trong môi trường phát triển của bạn và cách mà các hàm lõi của nó làm việc. Bạn biết
được cách jQuery làm cho việc tìm và phát hiện dễ dàng các phần tử trên trang với các
phương thức chọn và lọc và cách mà bạn có thể tìm thấy chính xác những phần tử đơn hoặc
các nhóm phần tử mà bạn đang tìm kiếm. Tiếp theo bạn đã đến các phương thức khác nhau mà
jQuery cung cấp cho bạn để duyệt các kết quả đã chọn, với nhiều hàm giống như những hàm
mà bạn quen thuộc trong các ngôn ngữ lập trình khác. Cuối cùng, bạn đã đến một điều
khiển mẫu, hộp chọn Select All/Deselect All và thấy cách jQuery có thể thực hiện được
điều khiển này chỉ bằng một vài dòng mã.
Trong bài viết này, bạn hãy mở rộng kiến thức về jQuery của mình bằng cách xem xét hàm nhấp nháy, và thêm "phong phú" thực sự vào ứng dụng Internet cũ đơn sơ của mình để bạn có thể biến một ứng dụng RIA thành một ứng dụng quảng cáo. Trước tiên, tôi sẽ bắt đầu bằng việc chỉ cho bạn biết cách jQuery xử lý sự kiện. Sự kiện được định nghĩa là một cú nhấp chuột, tô sáng mầu, kéo chuột, vv… Lưu ý rằng các sự kiện này không giới hạn chỉ các nút và những thứ tương tự, mà chúng còn có thể được thực hiện để xử lý một cú nhấp chuột vào bất kỳ lệnh div, span, vv… nào . Tiếp theo, tôi sẽ chuyển sang thảo luận cách có được và thiết lập các thuộc tính trên các đối tượng trong trang Web. Nó bao gồm cách để có được văn bản từ các phần tử khuôn dạng innerHTML từ divs, và thậm chí cách tìm ra lớp nào được gắn với phần tử nào. Phần cuối sẽ thảo luận cách để sửa đổi các đặc tính CSS của các phần tử trang, mà không cần phải tải lại trang hoặc điều chỉnh tờ kiểu dáng bên ngoài.
Ứng dụng mẫu sẽ bao gồm tất cả mọi thứ trong các thanh điều khiển phụ đối với các ứng dụng thư tín trên Web, chỉ cho bạn biết cách có thể tạo một ứng dụng phía khách đa dạng, thay đổi màu sắc, kích thước và vị trí của các đối tượng dựa trên tương tác với trang. (Các tương tác này hiện thời giới hạn ở ứng dụng phía khách — bài tiếp sẽ bổ sung các tương tác phía máy chủ). Kết thúc bài này, bạn sẽ có tất cả các công cụ của jQuery để tạo RIA của riêng bạn và gây ấn tượng cho khách hàng của bạn.
## Mô-đun các sự kiện - Events
Mô-đun Events trong jQuery thực sự là bước đầu trong việc xây dựng tương tác với ứng dụng Web, vì rằng các sự kiện thường là các kích hoạt cho những gì sẽ xuất hiện trên trang. Như tôi đã chỉ rõ trong phần giới thiệu, bạn không nên nghĩ rằng các sự kiện chỉ xảy ra với phần tử Form — trên thực tế, bất kỳ phần tử nào cũng có thể kích hoạt sự kiện, và bạn có thể tận dụng lợi thế này để xây dựng một điều khiển tùy chỉnh dễ dàng hơn và thêm vài tương tác có thể là duy nhất và không bị gắn với bản thân phần tử Form cụ thể.
Điều đó có nghĩa hầu hết các sự kiện được dựa trên các phần tử Form, và việc trình diễn mỗi
phương thức này nhờ sử dụng chúng là điều dễ dàng nhất. Trước khi đi sâu vào các hàm sẵn
có, bạn hãy lưu ý rằng mô-đun Events đi sau một khuôn mẫu nhất định cho từng hàm. Mỗi
hàm sự kiện đều có hai dạng: dạng không có bất kỳ đối số nào, và dạng có chứa một hàm
làm đối số. Sự khác biệt giữa hai dạng này rất quan trọng, và nó nhất quán cho từng hàm.
Hàm không có tham số thực sự sẽ kích hoạt sự kiện đó. Nói cách khác, gọi hàm
click() thực sự sẽ làm cho các nút được nhấn vào. Câu
click(function) sẽ được gọi khi nút đó thực sự được nhấn, hoặc
khi hàm
click() được gọi. Lẫn lộn không? Có lẽ đây chỉ là sự
mô tả, nhưng khi bạn xem một ví dụ, nó sẽ trở nên rõ ràng.
##### Liệt kê 1. Các phương thức sự kiện của jQuery
// make the "myButton" click. This will cause the button to click and any actions // tied to it will occur - for example, it could submit a form, or other // jQuery actions could be tied to it. $("#myButton").click(); // use jQuery to setup what will actually happen when the "myButton" is // actually clicked. $("#myButton").click(function(){ $("#myDiv").toggle(); }); // A common pattern in jQuery when setting up actions on a page is to trigger the // action to occur initially when the page is loaded. This occurs frequently // with AJAX setups, where the values come from the server. // In this example, the myDiv has its visibility toggled every button click. When // the page is loaded, we call click() immediately, which toggles the view // as soon as the page views (not a practical example, but you should see the design) $("#myButton").click(function(){ $("#myDiv").toggle(); }).click();
Các
sự kiện mà tôi liệt kê dưới đây
*tất cả* theo thiết kế mà tôi mô tả ở trên và có
hai hàm liên kết với chúng. Ở đây tôi chỉ liệt kê một cách ngắn gọn các hàm đầu tiên:
blur()- Được gọi bất cứ khi nào một phần tử Form bị mờ nét, giống như khi một trường văn bản rõ nét bị làm mờ
change()- Được gọi khi một phần tử Form bị mờ nét và giá trị của nó đã thay đổi kể từ khi nó được làm rõ nét. Internet Explorer và Firefox xử lý vấn đề này hơi khác nhau.
click()- Được gọi khi một phần tử trang (không nhất thiết phải là một phần tử Form) được nhấn vào
dblclick()- Được gọi khi một phần tử trang (không phải là một phần tử Form) được nhấn vào
error()- Được gọi khi có một lỗi bên trong trên phần tử, khác nhau giữa các trình duyệt, và có lẽ nhiều người không thấy điều này
focus()- Được gọi là khi một phần tử Form được làm rõ nét
keydown()- Được gọi bất cứ khi nào một phần tử trang có một phím nhấn được thực hiện trên nó/trong nó
keyup()- Được gọi bất cứ khi nào một phần tử trang có một phím nhấn được thực hiện trên nó/trong nó
keypress()- Được gọi khi một nhấn phím và nhả phím được thực hiện kế tiếp nhanh trên cùng một phần tử
select()- Được gọi khi một văn bản được chọn trong trường văn bản, và không phải khi mọi việc được lựa chọn trong một hộp kết hợp (đó là một sự kiện thay đổi)
submit()- Được gọi khi một phần tử Form được đệ trình
Có các hàm phụ không tuân theo mẫu tôi đã nêu ở trên và chỉ chứa một hàm đơn mà bạn có thể gọi. Tôi sẽ liệt kê các ngoại lệ ở đây, vì chúng không thường được sử dụng:
resize(fn)- Được gọi khi một đối tượng được thay đổi kích cỡ
scroll(fn)- Được gọi là khi một khung nội tuyến được cuộn
load(fn)/unload(fn)- Xảy ra khi đối tượng được tải lên/bị dỡ khỏi trang
Cuối cùng, một số sự kiện được gắn với chuột, như bạn mong đợi. Tôi đã kèm các sự
kiện này trong phần thứ ba của chúng, vì chúng thường bị lạm dụng, và jQuery, do đã nhận
thức được điều này, nên đã thay thế vài sự kiện bằng các hàm duy nhất. Chúng có mặt ở
đây chỉ để ánh xạ trực tiếp đến các sự kiện DOM cơ bản, nhưng đối với đích thực hành, có
các phương thức thay thế mà bạn có thể sử dụng thay vì sự kiện. Các phương thức
mousedown(fn) và
mouseup(fn) được gọi
khi chuột được nhấn hoặc được nhả ra trên một phần tử. Tuy nhiên, thường thì phương thức
click() nên được gọi thay thế, vì nó cũng sẽ được trả lại
như sự kiện, và nó phù hợp với hành vi mong đợi hơn và ít dễ gây lỗi. Hãy tưởng tượng
những gì xảy ra khi người dùng nhấn chuột vào một nút của họ, và nhận ra đó là một sai
lầm và di chuyển con chuột khỏi nút trước khi nhả chuột. Nếu họ nhả chuột trên một phần
tử trang khác với phương thức
mouseup(fn) đã xác định, thì
hành vi nào sẽ diễn ra? Lý tưởng nhất là việc sử dụng hai hàm đó được giới hạn trong
giao diện kéo và thả, nơi mà cú nhấp chuột sẽ không làm thay thế thích hợp.
Hai phương thức cuối cùng của mô-đun Sự kiện,
mouseover(fn) và
mouseout(fn), là khá phổ biến trong hầu hết các trang web hiện
tại. Chúng được sử dụng để hiển thị giúp di chuột, hộp nổi để hiển thị hình ảnh và thay
đổi màu theo vị trí của con trỏ chuột. JQuery nhận thức rằng hai hàm đó sẽ được sử dụng
khá thường xuyên và cũng nhận ra rằng hầu hết mọi người sẽ không sử dụng chúng một cách
chính xác, dẫn đến vô số lỗi. Đây không phải là mọi người có chủ đích đưa lỗi vào mã của
họ, mà là họ không có khả năng mã hóa cho các thành phần lồng nhau và phức tạp khác của
trang. Vậy, jQuery đã thêm một phương thức vào mô-đun Sự kiện để thay thế hai hàm đó, đó
là hàm
hover(fn1, fn2).
##### Liệt kê 2. Phương thức di chuột của jQuery
// This demonstrates the hover() function as implemented by jQuery. You define two // functions: what happens when the mouse moves over the specified element // and what happens when the mouse moves off the element. // In this example, each row in a table will get a red background when // the mouse moves over it and a white background when the mouse leaves. $("tr").hover(function(){ $(this).css("background","#0000ff"); }, function(){ $(this).css("background","#ffffff"); });
## Các thuộc tính
Một phần của những gì làm cho một trang tương tác được là khả năng lấy thông tin nhất định từ một vùng của trang và chuyển nó đến một vị trí khác. Ví dụ này là việc cụ thể nhận thông tin từ một trường văn bản và đặt nó vào một bảng, hoặc nó có thể là một ví dụ rộng hơn như lấy thông tin từ hộp kết hợp, chuyển nó đến máy chủ, và đưa các phản hồi từ máy chủ vào các hộp kết hợp khác. Tại phần lõi của nó, tính tương tác là kết quả của việc chuyển giao thông tin trên trang.
Có nhiều cách khác nhau để lưu trữ thông tin trên một trang, và các cách đặc biệt khác để lưu trữ thông tin trong các phần tử riêng trên trang. Có lẽ bạn tưởng tượng phần tử
 đơn giản sẽ không chứa thông tin nhiều như một trường văn bản (điều này có thể đúng hoặc không), và kết quả là có những hàm khác nhau để truy cập thông tin này. Tương tự như vậy, bạn có thể kết luận rằng đối với mỗi cách để có được thông tin từ một phần tử trang, bạn cũng có thể thiết lập thông tin về những phần tử đó. Thực tế, mỗi phần tử trang là một đối tượng dữ liệu, chứa các biến được đóng gói bằng phương thức getter/setter. Sự khác biệt giữa mô hình JavaBean này và những gì thực sự xảy ra trong jQuery là các tên của phương thức và giới hạn mà một số phần tử không phù hợp với một số hàm nhất định.
Trước khi đi sâu vào những phương thức này, chúng ta xem những
thông tin nào
*có thể* được lưu trữ trong các phần tử trang. Một số thẻ đơn giản
như
 chỉ có thể chứa CLASS hoặc ID làm thông tin. Một thẻ nào đó, chẳng hạn như
có thể chứa nhiều thông tin hơn, chẳng hạn "src", "alt", "width", và "height".
Cuối cùng là các thẻ phức tạp như <input type="password"> có thể chứa những thông tin
như "defaultValue", "maxLength", " readOnly ", hay "Accesskey".
Tính đa dạng của
các biến tiềm năng đã buộc jQuery phải tạo hàm tổng quát để truy cập chúng. Hàm này là
attr(name) và là cách tổng quát để truy cập thông tin từ
bất kỳ phần tử trang nào. Ta hãy xem một số ví dụ để xem cách nó hoạt động như thế nào.
##### Liệt kê 3. Hàm jQuery attr()
 // Calls to the attr() function will return the following $("#spacer").attr("src"); // will return "/images/space.gif" $("#spacer").attr("alt"); // will return "blank" // Similarly, you can access the ID in the same way $(img).each(function(){ $(this).attr("id"); // will return "spacer" });
Hàm này trở nên rất hữu ích khi bạn đang cố thêm tương tác trên một trang và thực hiện nó một cách gọn. Thực tế, trước khi các hàm data() được thêm (xem liệt kê bên dưới), bạn thường phải đưa các thông tin bạn cần vào một trong những biến có sẵn. Ví dụ, nếu bạn đã có một trang với hai khung, khung đầu tiên hiển thị các nhãn và khung phía dưới hiển thị nội dung của mỗi nhãn, thì bạn có thể thiết lập một trang như sau:
##### Liệt kê 4. Hàm attr() hoạt động

Messages
 	 // This code would appear in the jQuery section. Notice how we get the ID from the tab, // and use that information to set the bottom frame, named 'content' with the content // on the page "messages.jsp" $(".tab").click( function() { window.parent.frames['content'].location = $(this).attr("id"); });
Ngoài
việc
*nhận* các giá trị thuộc tính trên mỗi phần tử, bạn cũng có thể *thiết
lập* các giá trị. Điều này đã tác động đến việc thay đổi hình dạng hoặc các hành
vi của phần tử về mặt lập trình.
##### Liệt kê 5. Thay đổi thuộc tính bằng hàm attr(str)
// will change the image source, and the image displayed on the page will change $("img").attr("src", "myimage.jpg"); // will change all the links on the page to go to one specific page $("a").attr("href", "mypage.html"); // will change the maxLength on all password fields to 10 characters $(":password").attr("maxLength", "10");
Các phần tử Form trên một trang có hàm đặc biệt có thể được gọi trên các phần tử đó để có lấy giá trị gắn liền với chúng. Điều này đặc biệt tiện khi làm việc với các khuôn dạng và kiểm chứng, và bạn sẽ có khả năng sử dụng các hàm này khá thường xuyên khi tạo các trang Web tương tác với các phần tử Form.
##### Liệt kê 6. Các hàm val() của phần tử Form
// will get the text contained in the text field and check that it's not blank $(":textfield").each(function(){ // use the val() function to get the text inside the textfield if ($(this).val() == "") $(this).next().text("Error"); }); // on a new password page, this will compare the new one with the confirmation, // to make sure they are equal if ($("#newPassword").val() != $("#confirmPass").val()) $("#newPassword").next().text("Error");
Ngoài ra có các hàm cho phép bạn lấy thông tin trong các thẻ nhất định. Tại sao điều này lại có
ích? Vâng, bạn có thể nhận tất cả thông tin trong một thẻ  nhất định, và thay
thế nó, hoặc bạn có thể biến tất cả các văn bản trong thẻ
 thành chữ thường. Có
hai cách riêng biệt để nhận được những thuộc tính này, và bạn không thể sử dụng hàm
attr() như vậy. Giống như tất cả các hàm thuộc tính khác, chúng cũng có các phương thức
thiết lập tương ứng. Đầu tiên là hàm
html() trả về tất cả các
innerHTML của một thẻ nhất định. Thứ hai là thẻ
text() trả về
tất cả các văn bản bên trong của một thẻ nhất định. Sự khác biệt là gì? Hàm
html() sẽ trả về văn bản bao gồm các thẻ HTML, trong khi thẻ
text() sẽ bỏ các thẻ và chỉ trả về văn bản bên trong. Ta
hãy xem các ví dụ sau để xem cách chúng khác nhau như thế nào.
##### Liệt kê 7. Hàm html() so với hàm text()
// this will examine every  tag, and if the value is blank, it will insert // a "-" into it, as a placeholder. $("td").each(function(){ // check the text of the table cell if ($(this).text() == "") $(this).text("-"); }); // this will convert every paragraph's text to lowercase $("p").each(function(){ var oldText = $(this).text(); var newText = oldText.toLowerCase(); $(this).text(newText); }); <-- This shows the difference between text() and html() -->
This is the example
 $("#sample").html(); // will return " This is the example" $("#sample").text(); // will return "This is an example"
Cuối cùng, phần vừa mới thêm vào thư viện jQuery cho các thuộc tính là chức năng data(). Chức năng phát triển bên ngoài dự án giao diện người dùng jQuery và gần đây đã được tích hợp vào dự án jQuery tổng thể. Về bản chất, các nhà phát triển dự án giao diện người dùng cảm thấy họ không muốn "tấn công" các thuộc tính có sẵn cho một vài phần tử trang và muốn có một cách để tạo các thuộc tính riêng của mình, càng nhiều càng tốt, mà trên đó họ có thể lưu thông tin. Trở lại ví dụ về các thẻ ở trên. Tôi "tấn công" liên kết bên trong ID của DIV, có thể không phải là phương thức lý tưởng. Tuy nhiên, do hạn chế của phiên bản trước của jQuery, đây là sự lựa chọn duy nhất. Với việc đưa vào các hàm data(), bạn có thể cung cấp giải pháp tao nhã hơn đối với vấn đề này. Hãy nghĩ rằng các hàm data() như một cách để truy cập vào sơ đồ trong, có trên mỗi phần tử trang. Sơ đồ đơn giản chỉ là một tập hợp của các cặp khóa-giá trị. Điều này cho phép các nhà phát triển tạo bất kỳ thuộc tính tùy chỉnh họ muốn cho một phần tử trang và gán giá trị cho thuộc tính đó. Về sau điều này có thể dẫn đến mã đơn giản hơn, và vì rằng dự án ngày càng phát triển hơn, nên dễ dàng bảo trì hơn. Hãy viết lại ví dụ trên bằng cách sử dụng hàm data() mới:
##### Liệt kê 8. Hàm data() mới
// create the div like we did above, but without any specific information. In this // way we can create a generic HTML layout and customize it in our jQuery code.

 	 // Now customize each tab in the jQuery code. $(".tab").eq(0).text("Messages"); $(".tab").eq(0).data("link", "messages.jsp"); $(".tab").click(function(){ window.parent.frames['content'].location = $(this).data("link"); }); // Taking this a step further, you can picture all this information coming from // an external properties file via a Java array. This would be the code on a JSP // page. <% // array containing tab names String[] tabNames; // array containing tab links String[] links; for (int i=0; i<tabNames.length; i++) { %> $(".tab").eq(<%=i%>.text("<%=tabNames[i]%>"); $(".tab").eq(<%=i%>).data("link", "<%=links[i] %>); <% } %> $(".tab").click(function(){ window.parent.frames['content'].location = $(this).data("link"); });
## Thao tác CSS
Phần cuối cùng của bài học này là thao tác CSS động trên trang web mà không cần điều chỉnh các tờ mẫu hoặc tải lại trang. Điều này sẽ cho chúng ta khả năng thêm một số hiệu ứng cơ bản vào trang bằng cách thay đổi những thứ đơn giản như màu sắc, phông chữ vv... Phần CSS của jQuery thực sự là nguồn cảm hứng ban đầu cho toàn thư viện. Đích là để làm cho lập trình CSS trở nên dễ dàng hơn trên trang web và, như bạn thấy, dự án đã phát triển đáng kể từ lúc đó. Ý định ban đầu của dự án vẫn còn tồn tại, và jQuery cung cấp các phương thức để lập trình với CSS trở nên dễ dàng hơn nhiều. Tuy nhiên, tôi sẽ chỉ cho bạn thấy rằng hàm truyền thống mà jQuery cung cấp cho thao tác CSS không thực sự thích hợp với môi trường Web hiện nay, và tôi sẽ chỉ cho bạn hàm khác (cũng trong jQuery) mà bạn nên sử dụng thay thế.
Hai hàm cơ bản để thao tác CSS trên trang web cho phép bạn nhập một thuộc tính đơn như một chuỗi và sau đó nhập một giá trị như một chuỗi, hoặc bạn có thể truy cập vào một mảng của chuỗi/giá trị chuỗi cùng một lúc. Cả hai hàm cùng làm một việc và sẽ thay đổi dễ dàng CSS trên trang web.
##### Liệt kê 9. Các hàm css()
// change the background of every div to red $("div").css("backgroundColor", "#ff0000"); // - or - $("div").css("backgroundColor", "red"); // - or - $("div").css({backgroundColor: "#ff0000"}); // notice the braces and lack of quotes
Bạn có thể thấy rằng các hàm này khá đơn giản, và bạn có thể chọn chúng ngay lập tức. Tuy nhiên, bạn cũng nên xem các vấn đề đi với các hàm đó khi xét xu hướng hiện nay trong thiết kế trang web. Các trang web bình thường có kiểu tách khỏi trang này và được đặt trong một tệp ngoài hoặc trong một phần của mã, trong tờ mẫu. Bạn có thể hoàn toàn không muốn đặt mã kiểu vào trong mã JavaScript nếu bạn có thể giúp làm việc này. Điều đó sẽ làm thay đổi tương lai đến nhìn về khó khăn tại trang Web.
May mắn thay, ta có các hàm thay thế cho phép làm việc tốt là tách biệt các thao tác bạn cần, trong khi vẫn để thao tác CSS dễ dàng và đơn giản. Các hàm này cho phép bạn thêm và bớt các lớp từ các phần tử trang. Bằng cách đặt kiểu dáng cho các lớp này tại các tờ mẫu bên ngoài, bạn có thể giữ sự tách biệt về kiểu, dữ liệu và các sự kiện, là điều nặng nề trong trang phức tạp. Ta hãy xem một vài ví dụ:
##### Liệt kê 10. Các thao tác CSS được ưa chuộng - addClass() và removeClass()
// will add the "input_error" class to any form elements that fail to validate // you can picture the "input_error" class in the external CSS file defining // a red border and red text $(":textfield").each(function(){ if ($(this).val() == "") { $(this).next().text("Error"); // this will turn the text field's border/text red $(this).addClass("input_error"); } // this tests if the text field has the class attached already else if ($(this).hasClass("input_error")) { $(this).next().text(""); // this will remove the class, restoring a normal border/text $(this).removeClass("input_error"); } });
Như
bạn thấy từ ví dụ trên, việc điều chỉnh CSS bằng tham chiếu đến lớp được định nghĩa tại
tờ mẫu là cách tốt hơn để thao tác CSS trên trang web. Nó cho phép người tạo trang Web
thay đổi cách xử lý thông báo lỗi
*trên toàn bộ trang web* bằng cách thay đổi tờ
mẫu, thay vì cố gắng tìm kiếm từng cá thể của mã này, như được yêu cầu gọi phương thức
css() trước đó. Mặc dù các phương thức đó dễ sử dụng, và đơn giản, chúng không thực là
giải pháp cho ứng dụng Web lớn và nên tránh sử dụng khi ta ưu tiên các phương thức
addClass() và removeClass().
## Kết hợp tất cả lại với nhau
Để kết hợp tất cả lại với nhau, ta hãy xem lại ví dụ. Đó là một ứng dụng web với tính tương tác nhằm tạo một RIA và cho người dùng những ấn tượng về làm việc với một ứng dụng máy tính để bàn cho thư điện tử của họ. Trong ví dụ này bạn sẽ sử dụng các mô-đun sự kiện, thuộc tính và CSS để định nghĩa cách ứng dụng thư điện tử trên Web mail xử lý các cú nhấn chuột đơn và nhấn chuột đúp. Bạn có thể xem các hành vi mong đợi từ ảnh chụp màn hình dưới đây. Khi một người dùng nhấp chuột đơn trên một dòng của bảng, hàng sẽ thay đổi màu sắc để làm nổi bật lựa chọn hiện tại của người dùng. Khi người dùng nhấp chuột đúp vào tin nhắn, nó sẽ cho phép người dùng đọc tin, và còn thay đổi màu nền của hàng nếu người dùng đang đọc một tin mới, chỉ ra rằng tin đó không còn là tin chưa đọc nữa.
##### Hình 1. Nhấn chuột đơn vào một hàng
![ Nhấn chuột đơn vào một hàng](singleClick.jpg)
##### Hình 2. Nhấn chuột đúp vào một hàng
![ Nhấn chuột đúp vào một hàng](doubleClick.jpg)
##### Liệt kê 11. Kết hợp tất cả lại với nhau
// First we add the rows to the table. Each row is a member of the "messageRow" class. // We also give an ID to each row, and this ID is the message number itself, which is // gotten from the Java data object. Keep in mind this sits in a for loop in a JSP file. <% for (int i=0; i<messages.size(); i++) { MessageData message = messages.get(i); %> <tr class="messageRow" id="<%=message.id %>"> // Now that the table has been laid out, we can define our jQuery code to capture single // mouse clicks and double mouse clicks. // Notice how we capture a single click on the table row with the click() function. Next // notice how we use addClass() and removeClass() instead of manipulating the CSS // directly with a css() function. This lets us change the stylesheet underneath // the code without modifying our jQuery code. $(".messageRow").click(function() { $(".messageRow").removeClass("message_selected"); $(this).addClass("message_selected"); }); // Now we capture the double click on a table row. Ignore the AJAX methods with the // post() function, which we'll get to in the next article. // We use the dblclick() function here to capture double clicks. // Notice in the AJAX call, how we get the ID out of the table row that was double // clicked. // We pass this ID to the server in order to get the information about the message back // from the server. We defined the message number in the JSP code, so that the ID // contained the message number. $(".messageRow").dblclick(function() { if ($(this).hasClass("mail_unread")) { $(this).removeClass("mail_unread"); } $.post("<%=HtmlServlet.READ_MESSAGE%>.do", { messageId: $(this).attr("id"), view: "<%=view %>"}, function(data){ // Do AJAX stuff here }); }); });
## Kết luận
Tầm quan trọng của thư viện JavaScript như jQuery sẽ tiếp tục phát triển vì các ứng dụng đang chuyển từ máy tính để bàn sang trình duyệt. Các ứng dụng này sẽ tiếp tục càng ngày càng phức tạp, khiến nền tảng vững chắc qua trình duyệt như jQuery trở thành điều cần thiết trong bất kỳ dự án ứng dụng Web nào. JQuery bản thân nó đã bắt đầu vượt xa các thư viện khác của JavaScript và đang trở thành thư viện được lựa chọn của nhiều nhà phát triển do tính dễ sử dụng và khả năng của để làm tất cả mọi thứ mà họ cần nó làm.
Trong bài thứ hai trong loạt bài này,
bạn đã mở rộng kiến thức về jQuery của mình bằng cách xem các tương tác trên trang Web
và thấy cách đạt được tương tác cơ bản trên máy khách (mà không cần nhận được thông tin
từ máy chủ). Bạn đã bắt đầu bằng cách xem các mô-đun sự kiện, mà định nghĩa cách các
phần tử trang tương tác với vô số các tương tác, bao gồm tương tác chuột, tương tác bàn
phím và tương tác làm nổi bật. Bạn đã thấy rằng các sự kiện là trình điều khiển lớn cho
tương tác trên các trang Web, và rằng chúng không nhất thiết phải được gắn liền với các
phần tử Form để được sử dụng. Sau đó tôi chuyển sang thảo luận về các thuộc tính, và
cách lấy phù hợp các thuộc tính từ các phần tử trang và đặt chúng trên đó. Bạn thấy rằng
hàm
attr() dùng chung có thể được sử dụng chung trên mọi phần
tử, và rằng các phần tử Form có các hàm đặc biệt để lấy giá trị của chúng. Bạn cũng thấy
một bổ sung mới vào jQuery, đó là hàm data(), nó phục vụ như là một loại HashMap trên
tất cả các phần tử trang, cho phép người lập trình tạo bất kỳ thuộc tính nào mà họ có
thể cần đến. Cuối cùng bạn xem xét cách thay đổi CSS của một phần tử trang mà không cần
tải lại trang. Bạn đã thấy rằng khi hàm css() trở nên dễ dàng và đơn giản, thì nó có lẽ
là mối quan tâm lớn của bạn và nhóm của bạn để thay thế các hàm này bằng các hàm
addClass() và removeClass(), để giữ được kiểu dáng của trang được tách ra từ mã jQuery.
Phần cuối cùng của bài kết hợp ba mô-đun bạn đã học được với nhau và cho bạn biết cách ứng dụng thư tín Web mẫu xử lý tương tác với chuột, sự khác biệt giữa nhấp chuột đơn - bằng cách làm nổi bật một hàng được nhấn chuột, với nhấn chuột đúp, đánh dấu tin nhắn là "chưa đọc" nếu đúng và sau đó thực hiện cuộc gọi Ajax đến máy chủ cho các dữ liệu thông điệp cụ thể, chuyển số tin nhắn đến máy chủ trong tiến trình.
Trong phần tiếp theo của loạt bài viết, chúng ta sẽ xem xét sâu hơn chức năng Ajax trong jQuery và xem cách nó bỏ nhiều thứ phức tạp khi làm việc với Ajax, làm cho nó trở nên đơn giản như gọi hàm JavaScript, như điều mà bạn thường làm. Ngoài ra, chúng ta sẽ xem xét mô-đun Effects trong jQuery, nó hữu ích cho việc tạo các tương tác bổ sung và các tác động đến thị giác của người sử dụng — và nói một cách thẳng thắn, nó cũng rất tuyệt! Phần cuối cùng của bài tiếp theo sẽ là ứng dụng thư điện tử Web để trình diễn và dạy về jQuery, hy vọng sẽ thuyết phục được bạn rằng nên thêm thư viện này vào ứng dụng Web của riêng mình.
## Các tải về
|Mô tả||Tên||Kích thước|
|Zip file containing the sample application|[jquery.war](http://www.ibm.com/developerworks/apps/download/index.jsp?contentid=580303&filename=jquery.war&method=http&locale=en_VN)
## Tài nguyên
### Học tập
- Tải xuống
[jQuery phiên bản 1.2.6 lược giản](http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.6.min.js), đây là phiên bản ổn định mới nhất tại thời điểm của bài viết này, và thả nó và trong mã của riêng bạn.
- Tìm hiểu
[trang API đầy đủ của jQuery](http://docs.jquery.com/Main_Page)để xem tất cả các hàm có sẵn trong thư viện.
- Bạn lo lắng về khả năng tương thích của jQuery qua
trình duyệt? Hãy xem
[danh sách các hỗ trợ qua trình duyệt](http://docs.jquery.com/Browser_Compatibility)tại đây.
- Xem
[các hiệu ứng cao cấp thực sự tuyệt](http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html)mà bạn có thể tạo bằng jQuery.
- Tải về một nền tảng toàn diện và đầy đủ về CSS,
JavaScript, và về bất kỳ ngôn ngữ web nào khác tại trang
[W3Schools](http://www.w3schools.com/jsref/default.asp).
- Đọc tổng quan chung về jQuery trong bài giới thiệu "
[Đơn giản hóa sự phát triển Ajax với jQuery](http://www.ibm.com/developerworks/library/x-ajaxjquery.html?S_TACT=105AGY75)", (Jesse Skinner, developerWorks, tháng 4/2007).
- Bài viết "
[Xem xét toàn bộ Ajax, Phần 2: Tân trang các trang web hiện có với jQuery, Ajax, các mẹo công cụ và ứng dụng lightbox](http://www.ibm.com/developerworks/web/library/wa-aj-overhaul2/index.html?S_TACT=105AGY75)" (Brian Dillard, developerWorks, tháng 5/2008) là một bài nghiên cứu một số các trình cắm thêm sẵn có cho jQuery và nói về cách chúng mở rộng tính hữu dụng của thư viện.
- Mở rộng kỹ năng phát triển Web của bạn với các bài báo
và các hướng dẫn chuyên về công nghệ Web tại
[vùng phát triển web](http://www.ibm.com/developerworks/web?S_TACT=105AGY75)của trang developerWorks.
### Thảo luận
- Hãy tham gia vào
[blog của trang developerWorks](http://www.ibm.com/developerworks/blogs?S_TACT=105AGY75)và tham gia vào [cộng đồng developerWorks](http://www.ibm.com/developerworks/community?S_TACT=105AGY75).
## Bình luận
[Vùng dữ liệu trên developerWorks](http://www.ibm.com/developerworks/vn/views/data/libraryview.jsp)
Khám phá các bài viết xoay quanh lĩnh vực dữ liệu, Quản lý hệ thống thông tin
[Vùng mã nguồn mở trên developerWorks](http://www.ibm.com/developerworks/vn/views/opensource/libraryview.jsp)
Xem các bài viết về HTML, CSS, JavaScript,...
[Điện toán đám mây](http://www.ibm.com/developerworks/vn/views/cloud/libraryview.jsp)
Tìm hiểu về điện toán đám mây

Content-Language: en-US

Kp-eeAlive: timeout=10, max=84

Vary: Accept-Encoding


text:
Xin cách chỉnh auto săn hải tặc cho 1 pt bằng Wjxtdauto PRo của kiimaru hoàn chỉnh!!!
Thảo luận trong 'Hỗ trợ game' bắt đầu bởi anhhoai111, 10/4/11.
Users found this page by searching for:
auto săn hải tăc kiếm thế,
huong dan su dung auto san hai tac kiem the,
auto san hai tac,
- cach cai tu san hai tac trong kiem the theo to doi,
- au to san hai tac,
- wjxtdauto pro,
- cách chỉnh auto hai tac kiếm thế,
- HUONG DAN CHINH AUTO HAI TAC,
- auto san hai tac game kiem thr,
- cam auto san hai tac kiem the private,
- san hai tac voi wjxtdauto pro,
- khong chay duoc san hai tac tu wjxdpro,
- huong dan su dung wjxtdauto san hai tac,
- wjxtdauto,
- cach dat auto san jai tac theo to doi

markdown:
# Xin cách chỉnh auto săn hải tặc cho 1 pt bằng Wjxtdauto PRo của kiimaru hoàn chỉnh!!!
Thảo luận trong '
[Hỗ trợ game](forums/ho-tro-game.438/)' bắt đầu bởi [anhhoai111](members/anhhoai111.326563/), [10/4/11](threads/xin-cach-chinh-auto-san-hai-tac-cho-1-pt-bang-wjxtdauto-pro-cua-kiimaru-hoan-chinh.1201258/).
### Users found this page by searching for:
## auto săn hải tăc kiếm thế,
### huong dan su dung auto san hai tac kiem the,
#### auto san hai tac,
**cach cai tu san hai tac trong kiem the theo to doi**,
- au to san hai tac,
- wjxtdauto pro,
- cách chỉnh auto hai tac kiếm thế,
- HUONG DAN CHINH AUTO HAI TAC,
- auto san hai tac game kiem thr,
- cam auto san hai tac kiem the private,
- san hai tac voi wjxtdauto pro,
- khong chay duoc san hai tac tu wjxdpro,
- huong dan su dung wjxtdauto san hai tac,
- wjxtdauto,
- cach dat auto san jai tac theo to doi

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Truncated: length

Content-Type: text/html; charset=UTF-8

Connection: close

Cache-control: max-age=60, private, proxy-revalidate

X-Frame-Options: SAMEORIGIN

Server: cloudflare-nginx

Content-Encoding: gzip


text:
Link vào M88, Link M88 mới nhất
M88Viet.Com sẽ cập nhật liên tục link vào trang chủ M88 mới nhất
Link vào M88 mới nhất:
Xem thông tin khuyến mãi M88 mới nhất dành cho thành viên mới đăng ký tại đây:
Hoặc các bạn cũng có thể xem trực tiếp ở trang chủ M88:
http://www.m88id.com/Promotions/

markdown:
#
[Link vào M88, Link M88 mới nhất](http://www.m88viet.com/2013/05/link-vao-m88-link-m88-moi-nhat.html)
**M88Viet.Com sẽ cập nhật liên tục link vào trang chủ** [M88](http://www.m88viet.com/)mới nhất
Link vào M88 mới nhất:
Xem thông tin
**khuyến mãi M88**mới nhất dành cho thành viên mới đăng ký [:](http://www.m88viet.com/2013/05/khuyen-mai-m88.html) **tại đây**
Hoặc các bạn cũng có thể xem trực tiếp ở trang chủ M88:
[http://www.m88id.com/Promotions/](http://www.m88id.com/Promotions/)

Set-Cookie: __cfduid=d519fd2cc9ac8afc95b4fdbfd053002171410946325755; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.m88viet.com; HttpOnly

X-Robots-Tag: all,noodp

Cache-Control: private, max-age=0

X-Content-Type-Options: nosniff

X-XSS-Protection: 1; mode=block


text:
+ NGUYÊN LIỆU
- 400g sườn non
- 2 tép tỏi
- 2 cái hoa hồi
- 20g mè rang
- Vài cọng hành lá – chỉ lấy phần trắng
- Gia vị: tiêu, muối, mật ong, nước tương, giấm, rượu nấu ăn
+ CÁCH LÀM
Bước 1:
Sườn non rửa sạch, cho vào nồi luộc sơ cho mềm với tí muối rồi vớt ra để ráo. Bạn có thể sử dụng nước luộc sườn này để nấu canh hay làm nước dùng nhé!
Bước 2:
Làm nóng nồi với chút dầu ăn, cho tỏi băm, hành lá cắt khúc và hoa hồi vào đảo cho thơm.
Bước 3:
Khi tỏi đã thơm bạn thêm sườn đã luộc vào, đảo đều.
Bước 4:
Khi sườn săn lại bạn cho vào nồi 2 muỗng canh nước tương, 3 muỗng canh giấm, 1 muỗng canh đường, 1 muỗng canh mật ong, 1 muỗng canh rượu nấu ăn, 1/2 muỗng cà phê muối và 1/2 muỗng cà phê tiêu. Hạ lửa nhỏ để cho gia vị thấm đều vào thịt và từ từ sệt lại rồi nêm lại gia vị cho vừa với khẩu vị của gia đình mình sao cho nó có vị chua chua ngọt ngọt và mặn nhẹ là được. Chờ đến khi phần gia vị trở nên sệt lại và khô hẳn.
Tắt bếp, rắc mè và múc ra đĩa, ăn cùng cơm.

markdown:
**+ NGUYÊN LIỆU
**
- 400g sườn non
- 2 tép tỏi
- 2 cái hoa hồi
- 20g mè rang
- Vài cọng hành lá – chỉ lấy phần trắng
- Gia vị: tiêu, muối, mật ong, nước tương, giấm, rượu nấu ăn
**+ CÁCH LÀM
** **Bước 1:**
Sườn non rửa sạch, cho vào nồi luộc sơ cho mềm với tí muối rồi vớt ra để ráo. Bạn có thể sử dụng nước luộc sườn này để nấu canh hay làm nước dùng nhé!
**Bước 2:**
Làm nóng nồi với chút dầu ăn, cho tỏi băm, hành lá cắt khúc và hoa hồi vào đảo cho thơm.
**Bước 3:**
Khi tỏi đã thơm bạn thêm sườn đã luộc vào, đảo đều.
**Bước 4:**
Khi sườn săn lại bạn cho vào nồi 2 muỗng canh nước tương, 3 muỗng canh giấm, 1 muỗng canh đường, 1 muỗng canh mật ong, 1 muỗng canh rượu nấu ăn, 1/2 muỗng cà phê muối và 1/2 muỗng cà phê tiêu. Hạ lửa nhỏ để cho gia vị thấm đều vào thịt và từ từ sệt lại rồi nêm lại gia vị cho vừa với khẩu vị của gia đình mình sao cho nó có vị chua chua ngọt ngọt và mặn nhẹ là được. Chờ đến khi phần gia vị trở nên sệt lại và khô hẳn.
Tắt bếp, rắc mè và múc ra đĩa, ăn cùng cơm.

Server: LiteSpeed


markdown:
# FLAGENTYL
FLAGENTYL
Viên bao phim dễ bẻ 500 mg : hộp 4 viên.
THÀNH PHẦN
cho 1 viên
Secnidazole 500 mg
DƯỢC LỰC
Chất dẫn xuất tổng hợp nhóm nitro-imidazol.
Có hoạt tính diệt ký sinh trùng : Entamoeba histolytica, Giardia intestinalis, Trichomonas vaginalis, Hoạt tính diệt vi khuẩn kỵ khí : Bacteroides, Fusobacterium, Clostridium, Peptostreptococcus, Veillonella...
DƯỢC ĐỘNG HỌC
Nồng độ huyết thanh tối đa đạt 3 giờ sau khi uống một liều duy nhất 2 g secnidazol (dưới dạng viên 500 mg). Thời gian bán hủy huyết thanh khoảng 25 giờ. Thải trừ chậm, chủ yếu qua nước tiểu (50% liều dùng được thải trừ trong 120 giờ). Xuyên qua nhau thai và đi vào sữa mẹ.
CHỈ ĐỊNH
Bệnh amib ở ruột và ở gan.
Bệnh giardia.
Viêm âm đạo và niệu đạo do trichomonas vaginalis.
Viêm âm đạo không đặc hiệu (nhiễm khuẩn âm đạo).
CHỐNG CHỈ ĐỊNH
Quá nhạy cảm đối với dẫn xuất imidazol.
Phụ nữ có thai, phụ nữ cho con bú.
LÚC CÓ THAI và LÚC NUÔI CON BÚ
Lúc có thai :
Những nghiên cứu ở động vật cho thấy secnidazole không gây quái thai. Tuy nhiên tính gây dị dạng ở người chưa khẳng định.
Về mặt lâm sàng, chưa có những bằng chứng xác đáng đánh giá tính gây dị dạng hoặc độc với phôi thai khi sử dụng secnidazole trong thời kỳ mang thai.
Để thận trọng, không nên sử dụng secnidazole ở phụ nữ có thai.
Lúc nuôi con bú :
Không thấy secnidazole đi qua sữa mẹ.
Tuy nhiên những dẫn chất imidazole khác qua sữa mẹ, người ta đã mô tả những trường hợp nấm candida miệng và tiêu chảy gặp ở những trẻ bú sữa mà người mẹ đang điều trị với dẫn xuất imidazole.
Do đó, nên ngưng cho con bú trong thời gian điều trị.
THẬN TRỌNG LÚC DÙNG
- Tránh uống rượu trong thời gian điều trị với secnidazole.
- Không dùng ở người có tiền sử rối loạn thể tạng máu.
Người lái xe và vận hành máy móc :
Hiếm trường hợp chóng mặt khi điều trị với secnidazole.
TƯƠNG TÁC THUỐC
Không nên phối hợp :
- Disulfiram : vì gây cơn hoang tưởng, lú lẫn.
- Alcool : hiệu ứng antabuse (nóng, đỏ, nôn mửa, tim đập nhanh).
Thận trọng khi phối hợp :
- Thuốc chống đông máu đường uống (như warfarine) : gia tăng tác dụng thuốc chống đông máu và tăng nguy cơ xuất huyết, vì giảm sự dị hóa ở gan.
Kiểm tra thường xuyên hàm lượng prothrombine và theo dõi INR. Điều chỉnh liều dùng thuốc chống đông trong khi điều trị với secnidazol đến 8 ngày sau khi ngưng điều trị.
TÁC DỤNG NGOẠI Ý
Các tác dụng phụ không mong muốn thường gặp khi điều trị bằng dẫn xuất imidazol gồm :
- Rối loạn tiêu hóa : buồn nôn, đau dạ dày, miệng có vị kim loại, viêm lưỡi, viêm miệng.
- Nổi mề đay.
- Giảm bạch cầu nhẹ, hồi phục khi ngưng thuốc.
- Hiếm khi : chóng mặt, hiện tượng mất phối hợp và mất điều hòa, dị cảm, viêm đa dây thần kinh cảm giác-vận động.
Đối với Flagentyl, cho đến nay chỉ thấy có các rối loạn tiêu hóa (nôn, mửa, đau dạ dày).
LIỀU LƯỢNG và CÁCH DÙNG
- Bệnh amib cấp tính, có triệu chứng (dạng histolytica) và bệnh giardia :
Người lớn : 2 g, một liều duy nhất vào đầu bữa ăn.
Trẻ em : 30 mg/kg một liều duy nhất.
- Bệnh amib không triệu chứng (dạng minuta và dạng bào nang) : uống cùng liều như trên trong 3 ngày.
- Amib gan :
Người lớn : 1,5 g/ngày, uống 1 lần hoặc nhiều lần vào đầu các bữa ăn, trong 5 ngày.
Trẻ em : 30 mg/kg/ngày, uống 1 lần hoặc nhiều lần vào đầu các bữa ăn trong 5 ngày.
Trong giai đoạn mưng mủ, cần dẫn lưu mủ song song với điều trị bằng Flagentyl.
- Viêm âm đạo và niệu đạo do Trichomonas vaginalis và nhiễm khuẩn âm đạo : 2 g, một liều duy nhất. Điều trị đồng thời người có quan hệ giới tính : 2 g, một liều duy nhất.
GIÁ :40 000Đ/H 4V
Viên bao phim dễ bẻ 500 mg : hộp 4 viên.
THÀNH PHẦN
cho 1 viên
Secnidazole 500 mg
DƯỢC LỰC
Chất dẫn xuất tổng hợp nhóm nitro-imidazol.
Có hoạt tính diệt ký sinh trùng : Entamoeba histolytica, Giardia intestinalis, Trichomonas vaginalis, Hoạt tính diệt vi khuẩn kỵ khí : Bacteroides, Fusobacterium, Clostridium, Peptostreptococcus, Veillonella...
DƯỢC ĐỘNG HỌC
Nồng độ huyết thanh tối đa đạt 3 giờ sau khi uống một liều duy nhất 2 g secnidazol (dưới dạng viên 500 mg). Thời gian bán hủy huyết thanh khoảng 25 giờ. Thải trừ chậm, chủ yếu qua nước tiểu (50% liều dùng được thải trừ trong 120 giờ). Xuyên qua nhau thai và đi vào sữa mẹ.
CHỈ ĐỊNH
Bệnh amib ở ruột và ở gan.
Bệnh giardia.
Viêm âm đạo và niệu đạo do trichomonas vaginalis.
Viêm âm đạo không đặc hiệu (nhiễm khuẩn âm đạo).
CHỐNG CHỈ ĐỊNH
Quá nhạy cảm đối với dẫn xuất imidazol.
Phụ nữ có thai, phụ nữ cho con bú.
LÚC CÓ THAI và LÚC NUÔI CON BÚ
Lúc có thai :
Những nghiên cứu ở động vật cho thấy secnidazole không gây quái thai. Tuy nhiên tính gây dị dạng ở người chưa khẳng định.
Về mặt lâm sàng, chưa có những bằng chứng xác đáng đánh giá tính gây dị dạng hoặc độc với phôi thai khi sử dụng secnidazole trong thời kỳ mang thai.
Để thận trọng, không nên sử dụng secnidazole ở phụ nữ có thai.
Lúc nuôi con bú :
Không thấy secnidazole đi qua sữa mẹ.
Tuy nhiên những dẫn chất imidazole khác qua sữa mẹ, người ta đã mô tả những trường hợp nấm candida miệng và tiêu chảy gặp ở những trẻ bú sữa mà người mẹ đang điều trị với dẫn xuất imidazole.
Do đó, nên ngưng cho con bú trong thời gian điều trị.
THẬN TRỌNG LÚC DÙNG
- Tránh uống rượu trong thời gian điều trị với secnidazole.
- Không dùng ở người có tiền sử rối loạn thể tạng máu.
Người lái xe và vận hành máy móc :
Hiếm trường hợp chóng mặt khi điều trị với secnidazole.
TƯƠNG TÁC THUỐC
Không nên phối hợp :
- Disulfiram : vì gây cơn hoang tưởng, lú lẫn.
- Alcool : hiệu ứng antabuse (nóng, đỏ, nôn mửa, tim đập nhanh).
Thận trọng khi phối hợp :
- Thuốc chống đông máu đường uống (như warfarine) : gia tăng tác dụng thuốc chống đông máu và tăng nguy cơ xuất huyết, vì giảm sự dị hóa ở gan.
Kiểm tra thường xuyên hàm lượng prothrombine và theo dõi INR. Điều chỉnh liều dùng thuốc chống đông trong khi điều trị với secnidazol đến 8 ngày sau khi ngưng điều trị.
TÁC DỤNG NGOẠI Ý
Các tác dụng phụ không mong muốn thường gặp khi điều trị bằng dẫn xuất imidazol gồm :
- Rối loạn tiêu hóa : buồn nôn, đau dạ dày, miệng có vị kim loại, viêm lưỡi, viêm miệng.
- Nổi mề đay.
- Giảm bạch cầu nhẹ, hồi phục khi ngưng thuốc.
- Hiếm khi : chóng mặt, hiện tượng mất phối hợp và mất điều hòa, dị cảm, viêm đa dây thần kinh cảm giác-vận động.
Đối với Flagentyl, cho đến nay chỉ thấy có các rối loạn tiêu hóa (nôn, mửa, đau dạ dày).
LIỀU LƯỢNG và CÁCH DÙNG
- Bệnh amib cấp tính, có triệu chứng (dạng histolytica) và bệnh giardia :
Người lớn : 2 g, một liều duy nhất vào đầu bữa ăn.
Trẻ em : 30 mg/kg một liều duy nhất.
- Bệnh amib không triệu chứng (dạng minuta và dạng bào nang) : uống cùng liều như trên trong 3 ngày.
- Amib gan :
Người lớn : 1,5 g/ngày, uống 1 lần hoặc nhiều lần vào đầu các bữa ăn, trong 5 ngày.
Trẻ em : 30 mg/kg/ngày, uống 1 lần hoặc nhiều lần vào đầu các bữa ăn trong 5 ngày.
Trong giai đoạn mưng mủ, cần dẫn lưu mủ song song với điều trị bằng Flagentyl.
- Viêm âm đạo và niệu đạo do Trichomonas vaginalis và nhiễm khuẩn âm đạo : 2 g, một liều duy nhất. Điều trị đồng thời người có quan hệ giới tính : 2 g, một liều duy nhất.
GIÁ :40 000Đ/H 4V

Server: Apache/2.2.27 (CentOS)

P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"

Content-Encoding: x-gzip

X-Content-Encoded-By: Joomla! 1.5

Cache-Control: post-check=0, pre-check=0

Pragma: no-cache

Content-Type: text/html; charset=utf-8


text:
CHÀO MỪNG QUÝ KHÁCH HÀNG ĐẾN VỚI CÔNG TY TNHH TM SX ĐỖ GIA PHÁT
Thời tiết
Giá vàng
Tỷ giá ngoại tệ
Chứng khoán
Âm nhạc
Tin tức
Shopping
Thể thao
0918 34 3993 (Ms. Diễm)
08 3941 22 61 (Ms. Trinh)
Hotline: 08 3941 2261 - 0918 34 3993
dgp@dogiaphat.com
dogiaphatco@yahoo.com
dogiaphat@ymail.com
Báo giá sản phẩm
CÔNG TY TNHH TM SX ĐỖ GIA PHÁT
Địa chỉ: Số 13, Đường 11, Phường 4, Quận 4, TP.HCM
Tel: 08.39.41.22.61 - 08.39.40.8995 - 0918.34.3993 - Fax: 08. 39.410.850
Email: dgp@dogiaphat.com - dogiaphatco@yahoo.com - dogiaphat@ymail.com

Cache-Control: private


text:
Iphone 6 32g singapore, giá rẻ nhất, bảo hành 1 năm
BÁN IPHONE5S .IPHONE6 XÁCH TAY MỚI VỀ GIẢM CỰC SỐC 50%
Samsung galaxy note 3 16gb mới nguyên hộp bảo hành 12 tháng
Điện thoại Hummer H2 chống nước 100%,pin trâu,nhân dịp khai trương giảm 30%- 50%
iPhone 6 XÁCH TAY SINGAPORE Giá bán:3.500.000.vnđ
Samsung galaxy s5 16gb hàn quốc bản quốc tế mới zin 100%,giá 2tr1,vnđ
KHUYẾN MÃI SỐC 50% IPHONE 6,5S,GALAXY S5,S4,NOTE 3 GIÁ RẺ NHẤT
Chuyên cung cấp sĩ lẽ điện thoại, điện thoại giá tốt nhất 2014
Samsung Galaxy S4 i9500 16gb bản quốc tế Xách Tay giá cực rẻ.
Chuyên giá sỉ Land rover A8+ cho các cửa hàng
Chống va đập Land Rover Jeep A8i bạn có thể sở hữu chỉ với 390.000vnd
Samsung galaxy note 3 n9000 xách tay giá rẻ.
Đại lý phân phối Vertu Ferrari V1 Sang Trọng, Lịch Lãm, Đẳng Cấp, Đỉnh Cao
Iphone 5S Gold 32gb bản quốc tế xách tay singapore mới 100%,giá 2tr1.vnđ.
Nhanh tay sở hửu samsung note 3 trung quốc
Giảm giá 50% Samsung galaxy S5, IPHONE 5S nguyên hộp mới 100% bh 12 tháng
Aveo Note II giá rẻ nhất SG tại Thienduongandroid 451 Âu Cơ HCM ĐT 08.66.842.910Aveo note II 5.5inch đã xuất hiện chạy android jelly bean chụp ảnh siêu nétAveo note II được mệnh danh là “Tàu siêu tốc internet” bởi vào mạng cực nhanh đến những máy điện thoại cao cấp như Nokia, HTC, iPhone cũng phải ngả nón thán phục khả năng load cùng một Clip video online. Thử nghiệm trên Sim 3G của mobifone Aveo vào nhanh hơn iPhone 5 khoảng 2 giây khi cùng tải xem một Clip trên mạng, cho thấy phần cứng mới trên Aveo Note II rất mạnh điều này muốn thử các bạn nên tới hệ thống showroom của Avatelecom trên toàn quốc để kiểm chứng thực tế.
Nền tảng phần cứng mới giúp AVEO NOTE II thắng các đối thủ khác khi lướt NET.
Thông số kĩ thuật Aveo - Note II Taiwan.
Tên Máy AVEO -NOTE II
Băng tần GSM 2G: GSM 850/900/1800/1900MHz
3G: WCDMA 850/1900/2100(IMT-2000)MHz
Hỗ trợ Sim Card Hỗ trợ 2 Sim (Nhận cả sim D-COM 3G)
Dịch vụ mạng Hỗ trợ mở
Kiểu thiết kế Dáng thẳng 1 thân
Màu sắc Trắng / Đen
Chất liệu vỏ Nhựa tổng hợp sơn tĩnh điện chống trầy xước cao
Hệ điều hành Android 4.1.1 Jelly bean
CPU MTK6577, Cortex A9 dual core, 1.2GHz
ROM 4GB
RAM 1GB
Kích thước màn hình 5.5 Inch IPS
Loại màn hiển thị TFT, capacitive touch screen
Độ phân giải 540 x 960 pixels
Độ nét cao 1600K Colors
Hỗ trợ nhạc chuẩn Mp3
Audio đa định dạng MP3/WAV/AMR/AWB
Hỗ trợ nhạc hình 3GP/MPEG4
Xem ảnh định dạng JPEG/BMP/GIF/PNG/GIF
Hỗ văn bản TXT/CHM/DOC/HTML/XLS
Nghe đài FM nghe đài với tai nghe
Tai nghe 3.5mm
Hỗ trợ thẻ nhớ Hỗ trợ thẻ Micro SD nhớ lên tới 32GB
Kết nối
Truyền tải dữ liệu USB/Bluetooth
Kết nối internet WAP/WIFI/3G
General
Máy ảnh 8Mp Siêu nét 2 Camera, trước camera: 0.3MP, Sau camera: 8.0MP
with flashlight and auto focus, szsuff.com test up to 3564×2448 pixels resolution
Lưu danh bạ Không giới hạn
Ngôn Ngữ English, Arabic, Afrikaans, Amharic, Bahasa Indonesia, Bahasa Melayu,
Catala, Cestina, Dansk, Deutsch, Espanol, French, Hrvastki, Italiano,
Latviviu, Lietuviu, Magyar, Nederlands, Norsk, Polish, Portuguese,
Romana, Rumantsch, Slovencina, Suomi, Svenska, Swahili, Tagalog,
Vietnamese, Turkish, Zulu, Greek, Bulgarian, Russian, Serbian,
Ukrainian, Hebrew, Persian, Hindi, Thai, Korean, Japanese,
Simplified/Traditionl Chinese
Tin nhắn SMS/MMS
Input Handwrite/Keypad
TV Cài thêm xem được bằng 3G xem được cả K+ nhé, HBO HD, iTV HD...
GPS Yes, built in, also support A-GPS
With EPO assistance to speed up postioning
JAVA Có thể cài thêm để chơi games Java
WIFI Chuẩn kết nối 802.11 b/g
Bluetooth Bluetooth 2.0
Cảm biến chuyển động Yes
Cảm ứng đa điểm Yes, 5 point touch
Kích thước 150 x 80 x 9.5mm
Trọng lượng pin 195g
Thời gian chờ khoảng 2~3 ngày
Hỗ trợ 3G, GPS, WIFI, Play Store, Bluetooth, Ebook, Email, Messaging,
VPN Services, wallpapers, calendar, calculator, clock, tethering &
portable hotspot, camera, flashlight, etc
Trọng Lượng 480g
Kích thước 167 x 97 x 55mm
Phụ Kiện 1 Pin x 3100mAh Battery
1 x 3.5mm Tai nghe
1 x Dây xạc USB
1 x Cục xạc
AVEO NOTE II sở hữu tất cả những kết nối hiện đại mạnh mẽ nhất như 3G / WiFi / Bluetooth/ Gps/ Usb 3.0 giúp bạn giữ kết nối trên mọi nẻo đường, thiết kế 2 Sim giúp bạn mở rộng khả năng liên lạc và tiết kiệm đáng kể chi phí. Ngoài ra 1 khay sim với khả năng kết nối 3G.
Hiện với hệ điều hành khủng 4.1.1 New Aveo hoàn toàn bỏ xa các đối thủ khác khi chơi các games nặng, máy chơi cực mượt không bị giật hay treo khiến những khách hàng khó tính nhất cũng vui khi test.AVEO NOTE II với cấu hình khủng có thể chơi mọi games khủng kể cả games 3D nặng nhất hiện nay mà nhiều loại máy khác cùng giá không thể làm đượcĐộ phân giải màn hình HD khiến khách hàng hoàn toàn hài lòng với AveoAVEO chơi games 3D mượt thuyết phục mọi khách hàng test máyCác bạn có thể tới hệ thống showrom của AVATELECOM để test thửMàn hình chính lúc khóa sẽ tự tối để tiết kiệm pin, và sáng rực rỡ khi được mở khóaMáy hỗ trợ hệ điều hành mới nhất Jellybean 4.1.1 giúp máy hoạt động trơn mượt hơn tiết kiệm pin hơn 30% so với hệ điều hành 4.0Thiết kế tinh tế, sắc sảo đến từng chi tiết, bốn góc bo tròn cực đẹpLoa ngoài to rõ ấm khác biệt hẳn với những mặt hàng cùng loại, Mic và chân sạc phía dưới khá hợp lýNút Home thiết kế dạng bo tròn giống 4 góc máy cực đẹpMáy hỗ trợ đa ngôn ngữ và có tiếng Việt chuẩnNhấn vào đây Aveo Note 2 để xem chi tiết sản phẩm và giá bán
Truy cập tại website để xem chi tiết kĩ thuật và video thử nghiệm sản phẩm: www.thienduongandroid.com
Mọi thông tin chi tiết xin vui lòng liên hệ:
Thiên Đường Android
www.thienduongandroid.com
451 Âu Cơ, Q. Tân Phú, TP. HCM LH: 08.66.842.910 - 0936.621.683
289 Lương Định Của - Kim Liên - Hà Nội - LH: 04.66.84.87.97- 09845.999.86
GoldVish Le Million (Trung Quốc)
Aoson WoPad M12 (Rockchip RK2918 1.2GHz, 512MB RAM, 8GB Flash Driver, 9.7 inch, Android OS v2.3) Wifi, 3G Model
Aoson WoPad M19 (Rockchip RK2918 1.2GHz, 1GB RAM, 16GB Flash Driver, 9.7 inch, Android OS v2.3) Wifi, 3G Model
Đồng hồ Glashütte Original 002
Samsung Galaxy Note II N7100 (Trung Quốc)
Samsung Galaxy Note 2 Android 4.0.4 (Trung Quốc)
Samsung Galaxy Note (Trung Quốc)
Smartphone Android Galaxy Note i9220 (Trung Quốc)
Chống va đập Land Rover Jeep A8i bạn có thể sở hữu chỉ với 390.000vnd
Land Rover A8+(XP3300) Hầm Hố,cực chất pin 6.000mAh xạc cho smatphone
LG A395 4sim black (Đen)-giá rẻ nhất
Hàng khủng pin 10.000Mah Land Rover XP3300 xạc nóng tất cả các loại điện thoại
Điện thoại Hummer H2 chống nước 100%,pin trâu,nhân dịp khai trương giảm 30%- 50%
Nokia Lumia 920 Android
Ss galaxy s4 thông minh khuyến mại cực sốc
SS Galaxy s4 đài loan giá chỉ 3tr4
galaxy s4 đài loan , địa chỉ bán ss galaxy s4 đài loan
ss galaxy s4 đài loan thông minh giá chỉ 3tr450
sky hd9500 giảm giá chỉ còn 4t6
SS Galaxy S4 thông minh giá 4tr5

markdown:
|
|
##
|
2 phút trước
||
|
600.000
VNĐ / máy
|
|
##
|
12 phút trước
||
|
550.000
VNĐ / máy
|
|
##
|
19 phút trước
||
|
550.000
VNĐ / máy
|
|
##
|
23 phút trước
||
|
475.000
VNĐ / 1
|
|
##
|
32 phút trước
||
|
550.000
VNĐ / máy
|
|
##
|
33 phút trước
||
|
600.000
VNĐ / 1
|
|
##
|
39 phút trước
||
|
690.000
VNĐ / cái
|
|
##
|
39 phút trước
||
|
380.000
VNĐ / cái
|
|
##
|
42 phút trước
||
|
550.000
VNĐ / máy
|
|
##
|
49 phút trước
||
|
550.000
VNĐ / máy
|
|
##
|
54 phút trước
||
|
1.200.000
VNĐ / cai
|
|
##
|
54 phút trước
||
|
1.800.000
VNĐ
|
|
##
|
55 phút trước
||
|
3.000.000
VNĐ / cai
|
|
##
|
55 phút trước
||
|
14.000.000
VNĐ
|
|
##
|
1 giờ 2 phút trước
||
|
550.000
VNĐ / máy
|
|
##
|
1 giờ 4 phút trước
||
|
1.300.000
VNĐ
|
|
##
|
1 giờ 12 phút trước
||
|
550.000
VNĐ / máy
|
|
##
|
1 giờ 19 phút trước
||
|
550.000
VNĐ / máy
|
|
##
|
1 giờ 27 phút trước
||
|
390.000
VNĐ / cái
|
|
##
|
1 giờ 27 phút trước
||
|
390.000
VNĐ / cái
|
|
##
|
1 giờ 27 phút trước
||
|
650.000
VNĐ / cái
|
|
##
|
1 giờ 32 phút trước
||
|
550.000
VNĐ / máy
|
|
##
|
1 giờ 39 phút trước
||
|
380.000
VNĐ
|
|
##
|
1 giờ 42 phút trước
||
|
600.000
VNĐ / máy
|
|
##
|
1 giờ 49 phút trước
||
|
550.000
VNĐ / máy
|
|
##
|
1 giờ 51 phút trước
||Thỏa thuận...|
|
|
##
|
2 giờ 2 phút trước
||
|
550.000
VNĐ / máy
|
|
##
|
2 giờ 4 phút trước
||Thỏa thuận...|
|
|
##
|
2 giờ 12 phút trước
||
|
600.000
VNĐ / máy
|
|
##
|
2 giờ 19 phút trước
||Thỏa thuận...|

Server: Apache

Set-Cookie: history_raovat=7228718%7C0; path=/

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0


text:
1 - Lọc bụi túi vải AS 500 line (chống tĩnh điện dạng sợi)
Định lượng 500 g/m2
Lưu lượng: 15 m3/m2/phut
Sức bền kéo: chiều dọc: >800 N/5x20cm
chiều ngang: > 1200 N/5x20 cm
Nhiệt độ làm việc: <= 130oC
Nhiệt độ tới hạn: 150 do C
2 -Lọc bụi túi vải PE 550(chống nước, chống dầu)
Định lượng: 550 g/m2
Độ dày vải: 1.8 mm
Lưu lượng: 13 m3/m2/phut
Sức bền kéo: theo chiều dọc >1100 N/5x20cm
theo chiều ngang >1500 N/5x20 cm
Nhiệt độ làm việc <= 130oC
Nhiệt độ tới hạn: 150oC
Xử lý bề mặt, cân bằng, chống dầu, chống ẩm, chống mài mòn, chống axit.
3 -Lọc bụi túi vải NOMEX(chịu nhiệt độ cao)
Định lượng: 500 g/m2
Bề dày: 2 mm
Lưu lượng: 200-400lít/m2/s
Sức bền kéo: theo chiều dọc >1300 N/5x20cm
theo chiều ngang > 1460 N/5x20cm
Nhiệt độ hoạt động <= 204o C,
Nhiệt độ tới hạn: 240 oC
Xử lý bề mặt, can lang, chống nhiệt.
Mr. Đỗ Văn Đại
Mobile: 01657.237.048
Email: dovandai@vcs.vn
www.vcs.vn
Tel: 04.8587.5200 - Fax: 04.3624.9428
VCS Co Ltd., - Vietnan Construction Technical Service Company
Vít mạ kẽm dùng cho tôn lợp
Mũi đóng dài dẹp 10mm 48-810
Đai ốc M30
Lọc bụi sơ cấp cho buồng sơn, phòng sạch và hệ thống điều hòa trung tâm (Pre-filter for spray booth, cleanroom and HVAC)
Lọc bui - Air filter - Lọc bụi sơ cấp khung giấy
Lọc sơ cấp cho phòng sạch, buồng sơn (Pre-filter for cleanroom and spray booth)
Loc bui, loc khi (Air filer, Hepa filter)
Lọc bụi sơ cấp G3 khung giấy cho buồng sơn(spray booths)
Lọc trần buồng sơn(Micro ceiling Filter) - Lọc bụi buồng sơn
Lọc bụi túi vải thứ cấp (Bag filter)

markdown:
|Siêu VIP còn trống
|
Liên hệ Q.Cáo
0934.014.388
|Siêu VIP còn trống
|
Liên hệ Q.Cáo
0934.014.388
|Siêu VIP còn trống
|
Liên hệ Q.Cáo
0934.014.388
|Siêu VIP còn trống
|
Liên hệ Q.Cáo
0934.014.388
|Siêu VIP còn trống
|
Liên hệ Q.Cáo
0934.014.388
|Siêu VIP còn trống
|
Liên hệ Q.Cáo
0934.014.388
|Siêu VIP còn trống
|
Liên hệ Q.Cáo
0934.014.388
|Siêu VIP còn trống
|
Liên hệ Q.Cáo
0934.014.388
|
|
|
|
|
|
|Đăng bởi :||
|![]()
|Thông tin chung||
|
|Loại thiết bị|
|Thông tin chi tiết||
|
**1 - Lọc bụi túi vải AS 500 line (chống tĩnh điện dạng sợi)**
Định lượng 500 g/m2
Lưu lượng: 15 m3/m2/phut
Sức bền kéo: chiều dọc: >800 N/5x20cm
chiều ngang: > 1200 N/5x20 cm
Nhiệt độ làm việc: <= 130oC
Nhiệt độ tới hạn: 150 do C
**2 -Lọc bụi túi vải PE 550(chống nước, chống dầu)**
Định lượng: 550 g/m2
Độ dày vải: 1.8 mm
Lưu lượng: 13 m3/m2/phut
Sức bền kéo: theo chiều dọc >1100 N/5x20cm
theo chiều ngang >1500 N/5x20 cm
Nhiệt độ làm việc <= 130oC
Nhiệt độ tới hạn: 150oC
**Xử lý bề mặt, cân bằng, chống dầu, chống ẩm, chống mài mòn, chống axit.** **3 -Lọc bụi túi vải NOMEX(chịu nhiệt độ cao)**
Định lượng: 500 g/m2
Bề dày: 2 mm
Lưu lượng: 200-400lít/m2/s
Sức bền kéo: theo chiều dọc >1300 N/5x20cm
theo chiều ngang > 1460 N/5x20cm
Nhiệt độ hoạt động <= 204o C,
**Nhiệt độ tới hạn: 240 oCXử lý bề mặt, can lang, chống nhiệt.**
**Mr. Đỗ Văn Đại**
Mobile: 01657.237.048
Email: dovandai@vcs.vn
www.vcs.vn
Tel: 04.8587.5200 - Fax: 04.3624.9428
*VCS Co Ltd., - Vietnan Construction Technical Service Company*
|Độ rộng bản đồ:||
|
Vít mạ kẽm dùng cho tôn lợp
Mũi đóng dài dẹp 10mm 48-810
Đai ốc M30
|
|
Lọc bụi sơ cấp cho buồng sơn, phòng sạch và hệ thống điều hòa trung tâm (Pre-filter for spray booth, cleanroom and HVAC)
Lọc bui - Air filter - Lọc bụi sơ cấp khung giấy
Lọc sơ cấp cho phòng sạch, buồng sơn (Pre-filter for cleanroom and spray booth)
Loc bui, loc khi (Air filer, Hepa filter)
Lọc bụi sơ cấp G3 khung giấy cho buồng sơn(spray booths)
Lọc trần buồng sơn(Micro ceiling Filter) - Lọc bụi buồng sơn
Lọc bụi túi vải thứ cấp (Bag filter)

Set-Cookie: history_raovat=2840892%7C0; path=/


text:
Keywords:phim bo, phim hong kong, phim han quoc, phim tam ly, phim 18, hai kich, phim hoat hinh, tan co, cai luong, webcam videos
Category:Video, Phim, Hài Kịch, Nấu Ăn, Nhạc Việt Nam, Nhạc Hàn Quốc, Nhạc Vàng, Phim Việt Nam, Phim Trung Quốc, Phim Hồng Kông, Phim Nhật Bản, Phim Hàn Quốc, Phim Đài Loan, Phim Thái Lan, Phim Hành Động, Phim Hoạt Hình, Phim Tâm Lý, Phim Viễn Tưởng, Phim Dã Sử, Phim Kinh Dị - Ma, Phim Hài, Phim Tình Cảm, Phim Võ Thuật, Phim Thần Thoại, Tân Cổ - Cải Lương, Trang Điểm - Làm Đẹp, Việt Karaoke, Webcam Videos, Phim 18+, Hong Kong Drama, Hong Kong Movie, Japanese Drama, Japanese Movie, Chinese Drama, Chinese Movie, Korean Drama, Korean Show, Korean Movie, Hollywood Drama, Taiwan Movie, Taiwan Drama, Phỏng Vấn, Phỏng Vấn Xin Việc, Phim HD, Người Đẹp, Hot Jav, Phim Chiếu Rạp, Anri Sugihara, Saori Hara, Maria Ozawa, Tsubasa Amami, Tsukasa Aoi, Kirara Asuka, Yui Hatano, Aino Kishi, Azumi Mizushima, Rina Rukawa, Ria Sakurai, Hitomi Tanaka, Akie Harada, Rina Aizawa, Yoko Matsugane, Akiho Yoshizawa, Reon Kadena, Mizuki Hoshina, Momoka Nishina, Sayaka Isoyama, Ai Shinozaki
Disclaimer: VideosViet.Com is a video search engine that indexing and organizing videos on the web. Everyday 1,000+ new videos, phim, ca nhac, hai kich, phong su.

Cache-Control: no-cache, no-store, must-revalidate, post-check=0, pre-check=0


text:
Flynn xuống phố phong cách với quần jeans áo sơ mi
Thứ năm, 29 Tháng 11 2012 03:00:58
Hai mẹ con thời trang xuống phố giữa tin đồn Miranda đang mang bầu em bé thứ hai.
Tuy nhiên, sau đó Miranda lên tiếng giải thích, Twitter của cô đã bị hacker xâm nhập và thông tin bầu bí hoàn toàn sai sự thật. Bà xã của tài tử Orlando Bloom viết: "Một ai đó đã hack tài khoản của tôi. Thật vớ vẩn, tôi không mang bầu!".
Miranda vừa được mời làm gương mặt đại diện mới của hãng thời trang Mango thay thế Kate Moss. Người đẹp có rất nhiều công việc đang chờ đợi nên chắc chắn cô chưa muốn sinh thêm em bé trong thời gian này.
Ý kiến bạn đọc
Các tin mới hơn:
- Đấu giá bức hình của Marilyn Monroe thời nữ sinh
- Mỹ nhân xấu vì trang phục 'lôi thôi'
- Tài tử Shia LaBeouf chia tay bạn gái gốc Việt sau 2 năm
- Moon Geun Young diện váy cổ V gợi cảm
- Brad Pitt: Đã đến thời điểm tổ chức lễ cưới
Các tin cũ hơn:
- Hoa hậu Hoàn vũ 2004 gợi cảm tuyệt mỹ với bikini
- 10 câu chuyện đáng chú ý năm 2012 ở Hollywood
- Lindsay Lohan khẳng định: “Tôi phù hợp với vai Elizabeth Taylor”
- Mỹ nhân Hollywood gợi cảm với màu son đỏ
- Rihanna lại tung ảnh bán nude lên Twitter
- Con gái người mẫu quá cố Anna Nicole Smith nối bước mẹ
- Justin Bieber bị chỉ trích vì mặc lôi thôi khi gặp Thủ tướng Canada
- Katie Holmes cười sảng khoái trước ống kính
- Đẹp như các siêu sao khi bầu bí
- Jaime Winstone gieo thảm họa với xường xám
Cùng trong một đề mục
Trở lên đầu trang

markdown:
##
[Flynn xuống phố phong cách với quần jeans áo sơ mi](/giai-tri/tai-tu-the-gioi/243581-flynn-xuong-pho-phong-cach-voi-quan-jeans-ao-so-mi)
Hai mẹ con thời trang xuống phố giữa tin đồn Miranda đang mang bầu em bé thứ hai.
|
|
|
|
Sáng thứ hai, siêu mẫu Miranda Kerr lại đưa con trai ra ngoài đi dạo. Hai mẹ con trông rất ton sur ton về màu sắc trang phục khi rời căn hộ ở New York.
|
|
|
|
Cậu nhóc khỏe khoắn khi mặc quần jeans màu xanh kết hợp với áo sơ mi kẻ ca rô.
|
|
|
|
Mới gần 2 tuổi nhưng Flynn trông đã rất chững chạc, phong cách.
|
|
|
|
Flynn dường như không thích mẹ bế mà muốn tự đi.
|
|
|
|
Cậu bé mặc áo mưa và đội mũ che kín mặt.
|
|
|
|
Vào cuối tuần qua, 1,3 triệu người dõi theo trên Twitter của Miranda Kerr rất hào hứng khi có thông tin trên tài khoản của siêu mẫu chia sẻ rằng, cô đang mang bầu em bé thứ hai.
Tuy nhiên, sau đó Miranda lên tiếng giải thích, Twitter của cô đã bị hacker xâm nhập và thông tin bầu bí hoàn toàn sai sự thật. Bà xã của tài tử Orlando Bloom viết: "Một ai đó đã hack tài khoản của tôi. Thật vớ vẩn, tôi không mang bầu!".
Miranda vừa được mời làm gương mặt đại diện mới của hãng thời trang Mango thay thế Kate Moss. Người đẹp có rất nhiều công việc đang chờ đợi nên chắc chắn cô chưa muốn sinh thêm em bé trong thời gian này.
[Đấu giá bức hình của Marilyn Monroe thời nữ sinh](/giai-tri/tai-tu-the-gioi/244565-dau-gia-buc-hinh-cua-marilyn-monroe-thoi-nu-sinh) [Mỹ nhân xấu vì trang phục 'lôi thôi'](/giai-tri/tai-tu-the-gioi/243686-my-nhan-xau-vi-trang-phuc-loi-thoi) [Tài tử Shia LaBeouf chia tay bạn gái gốc Việt sau 2 năm](/giai-tri/tai-tu-the-gioi/243619-tai-tu-shia-labeouf-chia-tay-ban-gai-goc-viet-sau-2-nam) [Moon Geun Young diện váy cổ V gợi cảm](/giai-tri/tai-tu-the-gioi/243593-moon-geun-young-dien-vay-co-v-goi-cam) [Brad Pitt: Đã đến thời điểm tổ chức lễ cưới](/giai-tri/tai-tu-the-gioi/244386-brad-pitt-da-den-thoi-diem-to-chuc-le-cuoi) [Hoa hậu Hoàn vũ 2004 gợi cảm tuyệt mỹ với bikini](/giai-tri/tai-tu-the-gioi/243577-hoa-hau-hoan-vu-2004-goi-cam-tuyet-my-voi-bikini) [10 câu chuyện đáng chú ý năm 2012 ở Hollywood](/giai-tri/tai-tu-the-gioi/244137-10-cau-chuyen-dang-chu-y-nam-2012-o-hollywood) [Lindsay Lohan khẳng định: “Tôi phù hợp với vai Elizabeth Taylor”](/giai-tri/tai-tu-the-gioi/242825-lindsay-lohan-khang-dinh-toi-phu-hop-voi-vai-elizabeth-taylor) [Mỹ nhân Hollywood gợi cảm với màu son đỏ](/giai-tri/tai-tu-the-gioi/242833-my-nhan-hollywood-goi-cam-voi-mau-son-do) [Rihanna lại tung ảnh bán nude lên Twitter](/giai-tri/tai-tu-the-gioi/242741-rihanna-lai-tung-anh-ban-nude-len-twitter) [Con gái người mẫu quá cố Anna Nicole Smith nối bước mẹ](/giai-tri/tai-tu-the-gioi/242773-con-gai-nguoi-mau-qua-co-anna-nicole-smith-noi-buoc-me) [Justin Bieber bị chỉ trích vì mặc lôi thôi khi gặp Thủ tướng Canada](/giai-tri/tai-tu-the-gioi/242063-justin-bieber-bi-chi-trich-vi-mac-loi-thoi-khi-gap-thu-tuong-canada) [Katie Holmes cười sảng khoái trước ống kính](/giai-tri/tai-tu-the-gioi/242091-katie-holmes-cuoi-sang-khoai-truoc-ong-kinh) [Đẹp như các siêu sao khi bầu bí](/giai-tri/tai-tu-the-gioi/243102-dep-nhu-cac-sieu-sao-khi-bau-bi) [Jaime Winstone gieo thảm họa với xường xám](/giai-tri/tai-tu-the-gioi/241717-jaime-winstone-gieo-tham-hoa-voi-xuong-xam)
### Cùng trong một đề mục
Trở lên đầu trang

Server: Apache/2.2.24 (Unix) mod_ssl/2.2.24 OpenSSL/1.0.0-fips DAV/2 mod_bwlimited/1.4 mod_qos/10.10 mod_fcgid/2.3.6 mod_perl/2.0.6 Perl/v5.10.1

Vary: Accept-Encoding,User-Agent

Content-Type: text/html


text:
Dự kiến trò chơi sẽ lấy danh xưng đơn giản là “Ninja” do Dream2 kết hợp với VTC ra mắt tại Việt Nam.
Như đã đưa tin hồi cuối tháng 06 vừa qua, tựa game Pockie Ninja đang gây sốt trên thị trường quốc tế sẽ cập bến Việt Nam trong nửa sau năm 2011. Lúc bấy giờ kế hoạch đưa ra là phát hành vào khoảng tháng 07 nhưng do nhiều trục trặc trong khâu chuẩn bị nên đành ngưng trệ lại. Pockie Ninja sẽ thử nghiệm bản Việt hóa vào cuối tháng 10/2011
Tuy nhiên theo nguồn tin nội bộ, hiện tại Pockie Ninja đã Việt hóa xong 100% và dự kiến ra mắt vào cuối tháng 10/2011. Nói cách khác, chỉ khoảng 1 tháng rưỡi nữa là gamer nước nhà sẽ được thưởng thức webgame đầy hấp dẫn lấy đề tài Naruto và Bleach này. Hiện tại, tên tuổi của NPH chưa tiện công bố, chỉ biết rằng nằm trong nhóm “tứ trụ”.
Cũng theo nguồn tin trên, rất có thể danh xưng của Pockie Ninja sau khi cập bến dải đất hình chữ S sẽ đơn giản chỉ là “Ninja”. Lúc này trang teaser game cũng đã được chuẩn bị xong với phong cách khá “khác lạ” so với các sản phẩm nội địa trước nay, còn khác ra sao thì vì vấn đề bảo mật nên chưa tiện công bố cụ thể
Được biết, phiên bản game tại Việt Nam sẽ bám sát với phiên bản quốc tế, đồng thời hứa hẹn được update liên tục để những ai đang thưởng thức Pockie Ninja tại server nước ngoài không cảm thấy lạc lõng hoặc tụt hậu khi gia nhập server dành cho gamer nội địa.
Nếu bạn chưa biết, Pockie Ninja là webgame nhập vai màn hình ngang, trò chơi vẫn có đầy đủ các yếu tố của một MMORPG hoàn chỉnh, tuy nhiên đồ họa đi theo xu hướng ngộ nghĩnh. Các hệ thống PvP và Pet đậm chất “nhẫn giả” hứa hẹn mang lại trải nghiệm thú vị cho người chơi
Cốt truyện in-game xoay quanh việc quỷ dữ sau khi bị đánh bại bởi các bậc thầy Ninja 300 năm về trước bất ngờ đội mồ sống dậy uy hiếp thành phố Angel City, và gamer sẽ vào vai các hậu duệ Ninja để hoàn tất công việc mà cha ông mình chưa làm được.
Những thông tin tiếp theo về dự án “Ninja” sẽ được đăng tải trong thời gian tới. Các bạn có thể chơi thử trước bản tiếng Anh tại Một số screenshot in-game: NL – YeuGame.net
_PAIN_
longhdry21 (22-09-2011),
phamhailong97 (21-12-2011),
xuanquyen91 (08-10-2011)
Trời, game này hình ảnh đẹp quá luôn @@, kiểu chơi hình như giống TS online thì phải. Phải chi nó là game train lv giống như Ghost Online khi xưa thì hay quá, mình cực thích thể loại game màn hình ngang. Nhưng chơi game của VTC thì xác định trước là game có thể sẽ bị đóng của bất cứ lúc nào @@
Thay đổi nội dung bởi mr_fen; 22-09-2011 lúc 22:21.
Bài này có ích đúng lúc mình đang chán cái game gunny tks bạn nh0a VTC mà phát hành là khỏi lo bị hút tiền như bọn VNG rùi ^^
Thay đổi nội dung bởi longhdry21; 22-09-2011 lúc 22:42.
Web share code 3.1: http://www.vn-zoom.com/f361/mot-so-w...i-1407012.html
longhdry21 Bài này có ích đúng lúc mình đang chán cái game gunny tks bạn nh0a VTC mà phát hành là khỏi lo bị hút tiền như bọn VNG rùi ^^ bác này ko biết có chơi trò nào của VTC chưa mà kêu VTC ko hút máu như VNG !!! Đc 2 trò ko hút máu là Audition + CF thì hack tràn lan!!!! mấy game nữa ra rồi đóng cửa sớm!! Fifaonline thì hút máu ko kém VNG!!! Chăm sóc khách hàng kém hơn cả VNG!!! !!!
bác này ko biết có chơi trò nào của VTC chưa mà kêu VTC ko hút máu như VNG !!! Đc 2 trò ko hút máu là Audition + CF thì hack tràn lan!!!! mấy game nữa ra rồi đóng cửa sớm!! Fifaonline thì hút máu ko kém VNG!!! Chăm sóc khách hàng kém hơn cả VNG!!! !!! =>> bác này nói dung ak.chăm sóc kháck hàng kjh vl
cái trò pockie ninja này khi đánh nhau thì nó tự động đánh chứ mình ko điều khiển cho nó đánh đc đâu mình chỉ cài skill cho nó đánh thôi,mà mỗi skill lại có 1 xác xuất ra nhất định chứ ko phải đánh nhát nào nhân vật cũng ra(đã chơi pockie ninja của nước ngoài nên biết)
au + cf nó hút củng hơi bị gê chưa nói đến bandmaster hình như game này nó đóng cửa rồi thì phải longhdry21 Bài này có ích đúng lúc mình đang chán cái game gunny tks bạn nh0a VTC mà phát hành là khỏi lo bị hút tiền như bọn VNG rùi ^^
Thấy bảo trò này ra chậm mất 5h rồi !! Làm ăn thế này thì chết !
game nay` dong' cua? me no roi`
---> 3 phiên bản đó, bác nào biết bổ xung thêm cho e
Quy định và Điều khoản [V-Z]
Diễn Đàn Con

Set-Cookie: vbseo_loggedin=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/

Pragma: private


text:
Hương vị ô mai là những câu chuyện về các cô cậu học trò mà ở đó những mối quan hệ bạn bè, gia đình và cả tình cảm mới chớm nở khiến họ vô cùng bối rối. Đây là một bộ phim tâm lý dành cho gia đình với các tình huống là những câu chuyện thực tế mà nhiều người tìm thấy bóng dáng mình trong đó. Điển hình trong Hương vị ô mai là Đăng Phan, cậu học sinh 16 tuổi, đẹp trai, thông minh lại giỏi võ. Ở trường, Đăng Phan gặp nhiều rắc rối với cô bạn Uyên Uyên (Việt Huê đóng) nhưng khi đã hiểu nhau hơn, họ trở thành bạn tốt. Đăng Phan rất bướng bỉnh, luôn muốn chứng tỏ cho mẹ thấy mình đã lớn bằng cách vòi vĩnh mẹ mua xe máy. Rồi cô bạn Uyên Uyên xinh xắn cũng có những vấn đề của riêng mình khi phản đối mối quan hệ của bố với một người đàn bà khác. Nhiều mâu thuẫn nảy sinh với những chuyển biến tâm lý của tuổi mới lớn cũng khiến các bậc phụ huynh nhìn vào đó để hiểu con cái mình hơn.
Nội dung phim "Hương Vị Ô Mai"Trailer Từ khóa: hương vị ô mai, htv9

markdown:
![](http://images.timnhanh.com/sanhdieu/20110704/source/omai2._1309772045.jpg)
**Nội dung phim "Hương Vị Ô Mai"**
Hương vị ô mai là những câu chuyện về các cô cậu học trò mà ở đó những mối quan hệ bạn bè, gia đình và cả tình cảm mới chớm nở khiến họ vô cùng bối rối. Đây là một bộ phim tâm lý dành cho gia đình với các tình huống là những câu chuyện thực tế mà nhiều người tìm thấy bóng dáng mình trong đó. Điển hình trong Hương vị ô mai là Đăng Phan, cậu học sinh 16 tuổi, đẹp trai, thông minh lại giỏi võ. Ở trường, Đăng Phan gặp nhiều rắc rối với cô bạn Uyên Uyên (Việt Huê đóng) nhưng khi đã hiểu nhau hơn, họ trở thành bạn tốt. Đăng Phan rất bướng bỉnh, luôn muốn chứng tỏ cho mẹ thấy mình đã lớn bằng cách vòi vĩnh mẹ mua xe máy. Rồi cô bạn Uyên Uyên xinh xắn cũng có những vấn đề của riêng mình khi phản đối mối quan hệ của bố với một người đàn bà khác. Nhiều mâu thuẫn nảy sinh với những chuyển biến tâm lý của tuổi mới lớn cũng khiến các bậc phụ huynh nhìn vào đó để hiểu con cái mình hơn.
**Trailer** **Từ khóa:** [hương vị ô mai](http://www.xemphim.tv/online/tag/hương-vị-ô-mai), [htv9](http://www.xemphim.tv/online/tag/htv9)

Cache-Control: max-age=0, no-cache, no-store, must-revalidate, post-check=0, pre-check=0


text:
Thể loại phim
Xem Phim TV - Trang xem phim online hay, xem phim
miễn phí chất lượng tốt, Xem phim TV luôn cập nhật các bộ phim hành
động, phim chiếu rạp mới nhất với các thể loại phim tâm lý , phim hài ..v. Xem phim tại Xem phim
Tv sẽ luôn có phụ đề việt hoặc phim lồng tiếng đem đến sự thoải mái cho
các bạn khi xem phim. Xem phim tv sẽ hạn chế tối đa quảng cáo để luôn
là 1 sự lựa chọn phim online tốt nhất cho các bạn


markdown:
Thể loại phim
Xem Phim TV - Trang xem phim online hay, xem phim
miễn phí chất lượng tốt, Xem phim TV luôn cập nhật các bộ phim hành
động, phim chiếu rạp mới nhất với các thể loại phim tâm lý , phim hài ..v. Xem phim tại Xem phim
Tv sẽ luôn có phụ đề việt hoặc phim lồng tiếng đem đến sự thoải mái cho
các bạn khi xem phim. Xem phim tv sẽ hạn chế tối đa quảng cáo để luôn
là 1 sự lựa chọn phim online tốt nhất cho các bạn


text:
Xem hinh anh dep ve thien nhien
xem hinh anh dep
xem nhung hinh anh dep nhat ve thien nhien, con nguoi dong vat, download hinh anh dep ve lam hinh nen cho dien thoai may tinh cua ban.
xem hinh anh dep
Tags: anh dep thien nhien, nhung hinh anh dep, xem anh dep, xem hinh anh dep
Đăng ký: Đăng Nhận xét (Atom)
Share your views...
1 Respones to "Xem hinh anh dep ve thien nhien"
Hinh anh thien nhien danh cho may tinh cua ban voi nhung buc anh dep ve thien nhien .
Tao cho minh mot phong cach rieng tu nhung buc anh thien nhien dep ve thien nhien danh rieng cho may tinh
19:36 Ngày 20 tháng 11 năm 2012
Đăng nhận xét

markdown:
###
[Xem hinh anh dep ve thien nhien](http://xemanhdep.laban.mobi/2012/11/xem-hinh-anh-dep-ve-thien-nhien.html)
# xem hinh anh dep
__xem nhung hinh anh dep__nhat ve thien nhien, con nguoi dong vat, download hinh anh dep ve lam hinh nen cho dien thoai may tinh cua ban.
## xem hinh anh dep
![]()
![]()
![]()
[Xem hinh anh dep](http://xemanhdep.laban.mobi/)ve dai duong
![]()
![]()
![]()
![]()
![]()
![]()
Tags:
[anh dep thien nhien](http://xemanhdep.laban.mobi/search/label/anh%20dep%20thien%20nhien), [nhung hinh anh dep](http://xemanhdep.laban.mobi/search/label/nhung%20hinh%20anh%20dep), [xem anh dep](http://xemanhdep.laban.mobi/search/label/xem%20anh%20dep), [xem hinh anh dep](http://xemanhdep.laban.mobi/search/label/xem%20hinh%20anh%20dep) [](http://www.blogger.com/post-edit.g?blogID=4957858741730376376&postID=2884129187505558358&from=pencil)
![ ](http://img2.blogblog.com/img/icon18_edit_allbkg.gif)
Đăng ký:
## Share your views...
1 Respones to "Xem hinh anh dep ve thien nhien"
Hinh anh thien nhien danh cho may tinh cua ban voi nhung buc anh dep ve thien nhien .
Tao cho minh mot phong cach rieng tu nhung buc anh thien nhien dep ve thien nhien danh rieng cho may tinh
19:36 Ngày 20 tháng 11 năm 2012
## Đăng nhận xét

Server: GSE


text:
54/54 Phim Tình Cảm Phim Hài Hước
Đạo diễn: Lê Minh
Diễn viên: Đinh Y Nhung, Đoàn Anh Tài, Minh Phương, Nhã Phương, Quốc Cường, Hoàng Anh, Trịnh Kim Chi, Kim Hiền
Quốc gia: Việt Nam
Thời lượng: 54 tập
Năm phát hành: 2012
Bộ phim lac mat linh hon xuay quanh số phận trong hai bối cảnh chính là Quán Hoang Sơ - với cuộc đời hai mẹ con Nụ và Hồng, một góc đời sống xã hội với những công việc làm giàu không chính đáng thông qua việc cung cấp gái gọi và buôn bán, giết hại động vật quý hiếm đã phản ánh khá chân thực những việc làm đáng lên án và cần loại bỏ ra khỏi đời sống xã hội.

markdown:
54/54
[Phim Tình Cảm](http://xemphimon.com/the-loai/phim-tinh-cam.html) [Phim Hài Hước](http://xemphimon.com/the-loai/phim-hai-huoc.html)
Đạo diễn: Lê Minh
Diễn viên: Đinh Y Nhung, Đoàn Anh Tài, Minh Phương, Nhã Phương, Quốc Cường, Hoàng Anh, Trịnh Kim Chi, Kim Hiền
Quốc gia:
[Việt Nam](http://xemphimon.com/quoc-gia/phim-viet-nam.html)
Thời lượng: 54 tập
Năm phát hành: 2012
Bộ
**phim** [lac mat linh hon](http://xemphimon.com/phim/lac-mat-linh-hon-4550.html) xuay quanh số phận trong hai bối cảnh chính là Quán Hoang Sơ - với cuộc đời hai mẹ con Nụ và Hồng, một góc đời sống xã hội với những công việc làm giàu không chính đáng thông qua việc cung cấp gái gọi và buôn bán, giết hại động vật quý hiếm đã phản ánh khá chân thực những việc làm đáng lên án và cần loại bỏ ra khỏi đời sống xã hội.

Accept-Ranges: bytes

Server: SUNDATA