Bài viết này trình bày 17 bước đơn giản giúp cải thiện hiệu suất jQuery và tối ưu hóa mã jQuery của bạn.

Bạn đang xem : các phương pháp hay nhất về plugin jquery

Trong bài viết trước, chúng ta đã tìm hiểu về jQuery Ajax phổ biến phương pháp và tùy chọn . Trong bài viết này, chúng tôi sẽ đề cập đến một số Phương pháp chung chung Nên và Không nên hoặc Các phương pháp hay nhất trong jQuery, hữu ích để tăng tốc độ trang của bạn và sẽ tối ưu hóa mã.

jQuery là thư viện phía máy khách phổ biến nhất. Nó có nhiều tính năng (thao tác HTML / DOM / CSS, Traversing, Ajax, v.v.) và rất dễ học. Lý do này làm cho thư viện phía máy khách jQuery phổ biến nhất. Nó giúp dễ dàng triển khai các chức năng phức tạp, Nhưng quá nhiều mã jQuey và không tối ưu hóa jQuery có thể làm giảm hiệu suất trang của bạn và có thể dẫn đến tải chậm.

Trong bài viết này, tôi đã liệt kê một số kỹ thuật tốt nhất có thể giúp bạn tối ưu hóa jQuery của mình.

Mạng phân phối nội dung (CDN) là một hệ thống các mạng phân tán cung cấp trang web và nội dung web khác cho người dùng. Thay vì lưu trữ trang web của bạn trên một máy chủ duy nhất, bạn có thể phân phối các tệp / trang và tải trên nhiều hệ thống. Google, Microsoft, Yahoo và JQuery cung cấp CDN. CDN luôn tải phiên bản được lưu trong bộ nhớ cache và tiết kiệm băng thông máy chủ của chúng tôi, cải thiện rất nhiều hiệu suất trang web của bạn.

Chúng tôi khuyên bạn nên tải tệp CDN qua HTTPS, ngay cả các trang web của riêng bạn cũng sử dụng HTTP.

Google CDN sau:

Google CDN

1

& lt; script

src =

“https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js”

& gt;

& lt; / script & gt;

jQuery CDN sau:

jQuery CDN

1

& lt; script

src =

“https://code.jquery.com/jquery-3.2.1.min.js”

& gt;

& lt; / script & gt;

Tôi biết ở trên đề cập đến CDN rất tuyệt vời nhưng đôi khi nó có thể không tải được tệp được lưu trữ của bạn hoặc ở chế độ ngoại tuyến, bạn cần đảm bảo khi loại đó xảy ra, ứng dụng của bạn vẫn chạy. Vì vậy, hãy sử dụng dự phòng.

Dự phòng CDN

1

2

& lt; script

src =

“https://code.jquery.com/jquery-3.2.1.min.js”

& gt; < / p>

& lt; / script & gt;

& lt; script & gt;

window

.

jQuery

|

|

tài liệu

.

viết

(

& lt; script

< p class = "crayon-e"> src

=

“js / libs / jquery-3.2.1.min.js”

& gt;

\

x3C

& lt; / script & gt;

)

& lt; / script & gt;

Nếu không có thuộc tính window.jQuery nào được xác định, điều đó có nghĩa là tập lệnh CDN không tải.

Mỗi phiên bản của jQuery đi kèm với nhiều bản sửa lỗi và nâng cao hiệu suất. Nhóm jQuery thêm một số phương thức mới và loại bỏ các phương thức cũ trong các bản phát hành mới. Bạn nên luôn thêm phiên bản jQuery mới nhất hoặc sử dụng phiên bản mới của tệp CDN để nhận được các lợi ích của các thay đổi mới.

Tốt hơn là bạn nên đặt mã jQuery của mình vào vị trí tệp bên ngoài có nhúng JS vào trang HTML. Các ưu điểm của tệp bên ngoài là Nó cho phép lưu vào bộ nhớ đệm, Mã dễ đọc hơn, Dễ quản lý, Có thể Lưu trữ trên CDN và giảm thiểu JS. Tôi đồng ý rằng nó tạo thêm một yêu cầu HTTP để lấy mã js nhưng tệp bên ngoài có nhiều lợi thế.

Thẻ script có thể được đặt trong & lt; head & gt; và trước & lt; body & gt; đóng lại, cả hai đều làm việc tốt cho bạn. Đặt tập lệnh thư viện chẳng hạn như thư viện jQuery trong phần đầu và các tệp bình thường khác trừ khi nó trở thành vấn đề về hiệu suất / tải.

Nếu bạn đưa tệp tập lệnh vào phần dưới cùng

  • Nó ngăn chặn sự chậm trễ về hình ảnh trước khi người dùng cuối nhìn thấy trang thực sự vì phân tích cú pháp HTML / CSS đầu tiên sau đó nó gọi tệp script
  • Không cần phải kiểm tra xem DOM có được tải bằng cách sử dụng

    document.ready

    vì bằng cách có các tập lệnh ở cuối, bạn biết chắc điều đó.

Không thể thao tác trang cho đến khi tài liệu “sẵn sàng”. jQuery phát hiện trạng thái sẵn sàng này cho bạn. Phương thức .ready () tương đương với phương thức tốc ký, Tốc ký chỉ có ít mã hơn hoặc hơi dễ đọc hơn, Nó không ảnh hưởng đến hiệu suất của bạn nhưng hầu hết các nhà phát triển có kinh nghiệm đều sử dụng phương thức tốc ký.

1

2

3

4

5

6

7

8

9

// Khối A $ (document) .ready ().

$

(

tài liệu

)

.

đã sẵn sàng

(

function

(

)

{

bảng điều khiển

.

log

(

” sẵn sàng! “

)

;

}

)

;

// Viết tắt của $ (document) .ready ()

$

(

function

(< / p>

)

{

bảng điều khiển

.

log

(

< p class = "crayon-h">

“sẵn sàng!”

)

;

}

)

;

Không lặp lại chính mình có nghĩa là gì? nếu bạn đang lặp lại chính mình, bạn đang làm sai, trong khi viết mã, chúng tôi viết cùng một mã cho cùng một hành động trong nhiều thời điểm. Nếu bạn làm theo phương pháp KHÔ, nó sẽ tăng khả năng đọc, tính linh hoạt, hiệu quả về chi phí, kiểm tra và chất lượng. Nhìn chung, nó là mã có thể bảo trì và hiệu quả phát triển được cải thiện.

KHÔ

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

// XẤU

nếu

(

eventfade

.

data

(

” hiện tại “

)

!

= =

“đang chiếu”

)

{

eventfade

.

dừng lại

(

)

;

}

nếu

(

eventhover

.

data

(

” hiện tại “

)

!

==

“đang chiếu”

)

{

eventhover

.

dừng lại

(

)

< p class = "crayon-sy">;

}

if

(

nhịp

.

data

(

“hiện tại”

)

!

==

” đang hiển thị “

)

< p class = "crayon-sy"> {

nhịp

.

dừng lại

(

)

;

}

// TỐT !!

var

elems

=

[

eventfade

,

eventhover

,

nhịp

]

;

$

.

mỗi cái

(

< p class = "crayon-i"> elems

,

function

(

i

,

elem

)

{

nếu

(

elem

.

dữ liệu

< p class = "crayon-sy"> (

“hiện tại”

)

! < / p> ==

“đang hiển thị”

)

{

elem

.

dừng lại

(

)

;

}

< / p>

}

)

;

Bạn có thể sử dụng chạy một sự kiện trên nhiều bộ chọn. Nó chọn kết quả tổng hợp của tất cả các bộ chọn được chỉ định.

KHÔ

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

// XẤU

$

(

‘# element1’

)

.

nhấp vào

(

chức năng

(

)

{

hideMe

(

< p class = "crayon-sy">)

;

}

)

;

$

(

‘# element2’

)

.

nhấp vào

(

function

(

)

{

hideMe

(

)

;

}

)

;

$

(

‘# element3’

)

.

nhấp vào

(

chức năng

(

)

{

hideMe

(

< p class = "crayon-sy">)

;

}

)

;

// TỐT !!

< p class = "crayon-line crayon-sọc-line" id = "crayon-62ae80d95efca539401610-14">

$

(< / p>

“# element1, # element2, # element3”

)

.

nhấp vào

(

function

(

)

{

hideMe

(

)

;

< / p>

}

)

;

< p class = "crayon-line crayon-sọc-line" id = "crayon-62ae80d95efca539401610-18">

chức năng

hideMe

(

)

{

$

(

‘# abc’

)

.

ẩn

(

)

;

}

// XẤU

$

(

“div”

)

.

css

(

” border “

,

“3px màu đỏ đặc”

)

;

$

(

“. myClass”

)

.

css

(

“border”

,

“3px solid red”

)

;

// TỐT !!

$

(

“div, .myClass”

)

.

css

(

” border “

,

” 3px solid red “

)

;

Bạn có thể sử dụng .on () để liên kết một hàm với nhiều sự kiện:

KHÔ

1

2

3

4

5

6

7

8

9

10

11

12

13

// XẤU

$

(

‘# phần tử’

)

.

trên

(

‘keyup’

,

chức năng

(

e

)

{

// e.type là loại sự kiện được kích hoạt

}

)

;

$

(

< p class = "crayon-s"> ‘# phần tử’

)

.

trên

(

‘phím bấm’

,

function

(

e

)

{

// e.type là loại sự kiện được kích hoạt

}

)

;

// TỐT !!

$

(

‘# phần tử ‘

)

.

on

(

‘keyup keyup’

,

function

(

e

)

{

// e.type là loại sự kiện được kích hoạt

}

)

< p class = "crayon-sy">;

Bạn có thể gọi cùng một hàm có điều kiện. Nó dễ đọc và dễ quản lý hơn.

KHÔ

1

2

3

4

5

6

7

8

9

// Gọi khi tải

fireOnLoadAndClick

(

“tải”

)

;

// Gọi khi nhấp vào

fireOnLoadAndClick

(

“click”

)

;

function

fireOnLoadAndClick

(

eventType

)

{< / p>

// Phát hiện sự kiện

// Bạn diễn của bạn

}

Kiểm tra xem một phần tử có tồn tại trong DOM hay không trước khi thực hiện bất kỳ hành động nào. Bạn nên kiểm tra phần tử nhưng không phải mã rõ ràng. Tôi khuyên bạn nên luôn kiểm tra phần tử trong khi sử dụng plugin jQuery, chẳng hạn như thanh trượt, bảng dữ liệu, v.v. Nó giúp ứng dụng của bạn không bị lỗi.

Trình kiểm tra phần tử

1

2

3

4

5

6

7

8

9

10

// BAD Cái này chạy ba hàm trước nó

// nhận ra không có gì trong lựa chọn

$

(

” # phần tử “

)

.

slideUp

(

)

;

// Tốt hơn:

var

elem

=

< p class = "crayon-sy"> $

(

” # phần tử “

)

;

if

< p class = "crayon-sy"> (

elem

.

length

)

{

elem

.

slideUp

(

)

;

}

Bộ chọn jQuery cho phép bạn chọn và thao tác (các) phần tử HTML khá dễ dàng. Một số phương thức jQuery sử dụng phương thức gốc của trình duyệt.

Tránh Bộ chọn chung

Luôn sử dụng bộ chọn cụ thể thay vì bộ chọn chung. Nó làm tăng thời gian truy vấn.

1

2

3

4

5

6

$

(

< p class = "crayon-h">

“div & gt; *”

)

;

// Cực kỳ đắt.

$ < / p>

(

“div .class”

)

// Tốt hơn.

< / p>

$

(

“: radio “

< / p>

)

;

// Lựa chọn phổ quát ngụ ý.

$

(

“*: radio”

)

;

// Điều tương tự, hiện đã rõ ràng.

< p class = "crayon-line crayon-sọc-line" id = "crayon-62ae80d95efd2672953702-6">

$

(< / p>

“input: radio”

)

;

// Tốt hơn nhiều.

Sử dụng ID của vị trí Lớp học

Tốt khi chọn phần tử theo ID vị trí của Lớp. jQuery sử dụng phương thức gốc getElementByID () của trình duyệt để truy xuất đối tượng, dẫn đến truy vấn rất nhanh và tính cụ thể của ID hơn cả lớp.

Tăng tính cụ thể của bộ chọn jQuery

Bắt đầu bộ chọn của bạn bằng một ID luôn là tốt nhất. Tính toán tính cụ thể của một bộ chọn nhất định bằng cách sử dụng Máy tính Specifty .

1

2

3

$

(

< p class = "crayon-s"> ‘# myId div.myClass’

)

< p class = "crayon-c"> // Nhanh hơn

$

(< / p>

‘div.myClass’

)

// Chậm hơn

Hãy cụ thể ở bên phải của bộ chọn và ít cụ thể hơn ở bên trái.

1

2

3

$

(

< p class = "crayon-h">

“div.data .gonzalez”

)

;

// Chưa được tối ưu hóa:

$

(

“. data td.gonzalez”

)

;

// Tối ưu hóa:

Tiện ích mở rộng jQuery

Tránh sử dụng các phần mở rộng jQuery vì chúng gọi phương thức gốc là querySelectorAll (). Kiểm tra Tránh kiểm tra tiện ích mở rộng jQuery

1

2

3

4

5

// Chậm hơn (bộ chọn dựa trên 0: thậm chí là một phần mở rộng của jQuery)

< / p>

$

(

” # myTable tr: Even “

)

;

// Tốt hơn và nhanh hơn, mặc dù không chính xác tương đương, Nó chọn

$

(

” # myTable tr: nth-child (Even) “

)

;

Giảm thiểu số lượng bộ chọn hoặc Tránh quá cụ thể

Sử dụng số lượng bộ chọn ít nhất cần thiết để tạo kiểu cho một phần tử. Nếu bạn gặp xung đột, vào thời điểm đó, cần phải tăng tính cụ thể, nếu không, đừng thêm nhiều bộ chọn. Nó làm tăng độ đặc hiệu nhưng nó làm giảm tốc độ bộ chọn. Kiểm tra Tránh kiểm tra độ đặc hiệu quá mức .

1

2

3

4

$

(

< p class = "crayon-h">

“. data table.attendees td.gonzalez”

)

;

// Tốt hơn: Bỏ ở giữa nếu có thể.

$

(

“. data td.gonzalez “

)

;

Chúng tôi có thể tăng hiệu suất trang và giảm thời gian tải bằng cách hợp nhất và rút gọn (nén) tệp tập lệnh.

Hợp nhất: Hợp nhất tất cả tệp tập lệnh thành một tệp tập lệnh, nó ngăn chặn yêu cầu HTTP bổ sung và xử lý tất cả tập lệnh đồng thời.

Giảm thiểu: Nén tệp tập lệnh. Kích thước tệp nhỏ hơn tương đương với thời gian tải nhanh hơn. Có nhiều công cụ nén có sẵn để thu nhỏ tệp trực tuyến, chẳng hạn như Google Closure Compiler JavaScript Minifier .

Trên internet, có hàng nghìn plugin jQuey giúp công việc của bạn dễ dàng hơn. Một số điểm phải được thông báo trong khi thêm plugin. Bạn nên tự hỏi câu hỏi này.

  • Cần: Nó có thực sự yêu cầu plugin để hoàn thành chức năng không? Đối với chức năng cụ thể, tôi không khuyên bạn nên thêm plugin cung cấp các tính năng bổ sung ngoài mục tiêu của chúng tôi. Trong trường hợp đó, bạn nên xây dựng tính năng đó cho riêng mình.
  • Kích thước tệp : Plugin có lớn hơn mã nguồn không? Nếu có nghĩa là có gì đó sai.
  • Hiệu suất : Có phải plugin đang ảnh hưởng đến hiệu suất ứng dụng của bạn không?
  • Hỗ trợ nhiều trình duyệt : kiểm tra xem plugin có hỗ trợ các trình duyệt chính không.
  • Tùy chọn: Kiểm tra các tùy chọn cho hành động trong tương lai của chúng tôi.

Thao tác DOM thực hiện các thao tác chèn như prepend (), append (), after () rất tốn thời gian. Kiểm tra bài viết này html so với .append và .innerHTML Hiệu suất . InternalHTML call bowser phương thức gốc getElementById (id) để nó chạy nhanh.

Sử dụng append bên trong vòng lặp $ .each để tránh hiệu suất thấp. Làm cho bộ chọn cache trở thành bộ chọn, chúng ta có thể tiết kiệm thời gian di chuyển và thao tác DOM của bộ chọn trong các vòng lặp dài. Tạo chuỗi và bộ chọn bộ nhớ đệm, chúng tôi có thể tối ưu hóa mã của mình.

thêm bộ nhớ đệm của bộ chọn

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

// XẤU

$

.

each

(

listArray < / p>

,

hàm

(

i

,

item

< p class = "crayon-sy">)

{

var

listItem

=

” & lt; li & gt; Item “

+

item

+

” & lt; / li & gt; “

;

$

(

“# listItem”

)

.

thêm vào

(

listItem

)

;

}

)

;

// TỐT HƠN

var

listItemSelector

=

$

< p class = "crayon-sy"> (

“# listItem”

)

;

$

.

mỗi cái

(

listArray

,

chức năng

(

i

,

item

)

{

var

listItem

=

“& lt; li & gt; Item”

+

item

+

” & lt; / li & gt; “

;

listItemSelector

.

nối thêm

(

listItem

< p class = "crayon-h">

)

;

}

)

;

Một kỹ thuật đơn giản khác là xây dựng một chuỗi trong mỗi lần lặp lại của vòng lặp. Sau vòng lặp, chỉ cần đặt HTML của phần tử DOM thành chuỗi đó.

$. mỗi chuỗi HTML

1

2

3

4

5

6

7

8

var

listItem

=

” “

;

var

listArray

=

[< / p>

1

,

2

,

3

,

4

,

5

, < / p>

6

,

7

,

8

,

9

,

10

,

11

,

12

,

13

,

14

,

15

]

;

$

.

each

(

listArray

,

hàm

(

i

,

item

)

{

listItem

+ =

” & lt; li & gt; Item “

+

item

+

“& lt; / li & gt;”

;

}

< p class = "crayon-sy">)

;

$

(

“# listItem”

)

. < / p>

html

(

listItem

)

;

Với jQuery, bạn có thể thêm các hành động / phương thức cùng nhau. jQuery cho phép chúng ta chạy nhiều phương thức trên cùng một bộ chọn trong một câu lệnh duy nhất. Nó làm cho hiệu suất tốt hơn, làm cho mã ngắn và dễ quản lý. Chuỗi bắt đầu từ trái sang phải, vì vậy bên trái sẽ chạy trước và cứ tiếp tục như vậy.

Phương thức .end () trả về đối tượng về trạng thái trước đó của nó trong chuỗi.

Phương pháp Chuỗi

1

2

3

4

5

6

7

8

// XẤU

$

(

” # myDiv “

)

.

ẩn

(

)

;

$

(

“# myDiv”

)

. < / p>

hiển thị

(

1000

)

;

$

(

” # myDiv ”

)

.

css

< P class = "crayon-sy"> (

“padding-left”

,

“10px”

)

;

// SỬ DỤNG PHƯƠNG PHÁP CHUỖI

// Nó chạy từ trái sang phải, nên trước tiên nó ẩn sau đó hiển thị và sau đó nó sẽ thêm padding

$

(

” # myDiv “

)

.

ẩn

(

)

. < / p>

hiển thị

(

1000

)

.

css

(

” padding-left “

,

“10px”

)

;

Đọc Chuỗi phương thức trong JavaScript là gì để biết thêm chi tiết về phương pháp Chuỗi jQuery.

Đây là mẹo quan trọng nhất, các nhà phát triển thường bỏ qua để tạo biến bộ nhớ cache hoặc bộ chọn. Nó có thể cải thiện đáng kể hiệu suất của jQuery. Bạn nên lưu đối tượng jQuery vào bộ đệm trong biến nếu bạn cần sử dụng các bộ phần tử giống nhau nhiều lần trong DOM. Nó có thể quản lý được và tiết kiệm việc duyệt qua DOM của bộ chọn. Bộ nhớ đệm ghi nhớ có thể là nguyên nhân gây rò rỉ bộ nhớ. Vì vậy, hãy viết mã một cách thông minh. 🙂

Ví dụ trên có thể được lưu vào bộ nhớ đệm.

Biến và bộ chọn trong bộ nhớ cache

1

2

3

4

5

6

7

8

9

var

myDiv

=

$

(

” # myDiv “

)

;

// SỬ DỤNG PHƯƠNG PHÁP CHUỖI

myDiv

.

hide

(

)

.

hiển thị

< p class = "crayon-sy"> (

1000

)

.

css

(

” padding-left “

,

” 10px ”

)

;

$

(

myDiv

)

.

nhấp vào

(

function

(

)

{

// HÀNH ĐỘNG CỦA BẠN

}

)

;

Sử dụng phạm vi Global, Local và Lexical, bạn có thể lưu biến vào bộ nhớ cache. Đọc thêm về JavaScript Scope .

Với jQuery, bạn có thể đặt thuộc tính đơn cũng như nhiều thuộc tính cho tập hợp phần tử phù hợp. Sử dụng phương thức .attr () của jQuery để nhận giá trị thuộc tính của phần tử có hai lợi ích chính: Sự thuận tiện và Tính nhất quán trên nhiều trình duyệt .

Điều tương tự cũng áp dụng cho thuộc tính kiểu jQuery CSS () và phương thức hiệu ứng .animate () tùy chỉnh.

Attr

1

2

3

4

5

var

demoLink

=

$

(

‘# demoLink’

)

;

demoLink

.

attr

(

” href “

,

“#”

)

.

attr

(

“title”

,

“Liên kết trình diễn”

)

.

attr

(

“rel”

,

“external”

)

;

// BAD

// TỐT, Một đối tượng gồm các cặp thuộc tính-giá trị cần đặt.

demoLink

.

attr

(

{

href

:

“#”

,

title

:

“Liên kết trình diễn”

,

< p class = "crayon-h">

rel

:

“bên ngoài”

}

)

;

Có nhiều tập lệnh nhỏ có thể là một vấn đề về hiệu suất và khả năng bảo trì thấp. Không thêm các tập lệnh không cần thiết vào mã của bạn. Mã này có thể đạt được bằng cách sử dụng CSS và HTML. Hoạt ảnh CSS3 cho phép tạo hoạt ảnh cho hầu hết các phần tử HTML mà không cần sử dụng tập lệnh. Vì vậy, hãy cố gắng thực hiện ít kịch bản hơn.

1

2

3

4

5

6

7

8

9

10

11

12

13

myDiv

.

< p class = "crayon-e"> css

(

{

‘color’

:

đỏ

,

‘font-weight’

:

‘bold’

}

)

;

// XẤU

// TỐT

myDiv

.

addClass

(< / p>

“error”

)

;

// TỐT HƠN

.

lỗi

{

color

:

đỏ

;

font

weight

:

bold

;

}

// XẤU

< / p>

demoLink

.

attr

(

{

href

:

” # “

,

title

:

“Liên kết trình diễn”

,

rel

:

“bên ngoài”

}

)

;

// TỐT

< / p>

& lt;

a < /P >

href

=

“http://example.com/ “

title

=

” Liên kết mẫu “< / p>

id

=

“demoLink”

rel

=

“external”

& gt;

Ví dụ

Liên kết

& lt;

/

a

& gt;

jQuery thực hiện rất nhiều tác vụ yêu cầu nhiều dòng mã JavaScript để thành công. jQuery có nhiều phương thức, hàm và sự kiện cho hành động cụ thể trên (các) phần tử. Có thể có nhiều phương pháp cho một hành động, Vì vậy, cần xác định phương pháp nào tốt nhất hoặc tiết kiệm thời gian và cách thức hoạt động của jQuery.

Vì vậy, trước khi thực hiện bất kỳ mã nào, hãy đọc tài liệu API jQuery . Nó sẽ đưa ra ý tưởng về phương pháp / hành động / sự kiện nào phù hợp với điều kiện hiện tại của bạn.

Kết luận

Viết mã tối ưu hóa và hiệu quả cải thiện hiệu suất của ứng dụng. jQuery thật tuyệt vời nhưng nếu không có mã được tối ưu hóa, nó có thể dẫn đến hiệu suất ứng dụng kém. Tất cả các mẹo đã đề cập ở trên giúp mã của bạn dễ quản lý, dễ đọc và tiết kiệm chi phí cũng như tăng hiệu suất ứng dụng của bạn

Tài nguyên:

Hy vọng bạn thấy nó hữu ích. Nếu bạn thích bài viết này, hãy chia sẻ và bình luận.

Cảm ơn bạn đã đọc!


Xem thêm những thông tin liên quan đến chủ đề các phương pháp hay nhất về plugin jquery

Javascript: Tìm hiểu Thư viện Jquery – Môn Lập trình phần mềm (FUN121x) – mentor Nguyễn Ngọc Đỉnh

  • Tác giả: FUNiX – Học lập trình trực tuyến
  • Ngày đăng: 2020-11-12
  • Đánh giá: 4 ⭐ ( 2920 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Buổi coaching trực tuyến về Tìm hiểu Thư viện Jquery, Buổi 1 lúc 19h, ngày 06/11/2020
    Mentor: Nguyễn Ngọc Đỉnh

    Nội dung video: Mentor hướng dẫn các kiến thức về thư viện jQuery – là thư viện của Javascript phổ biến, nổi bật nhất và phù hợp với người mới bắt đầu làm quen với việc học lập trình website và việc vận dụng các kiến thức này để hoàn thành yêu cầu của bài Assigment 4 của môn học “Xây dựng phần mềm đầu tiên”

    Tìm hiểu thêm về môn Lập trình phần mềm tại đây:https://courses.funix.edu.vn/courses/course-v1:FUNiX+FUN121x_01_VN+2020_T2/about
    ————————————————————-
    Xem thêm các buổi coaching khác của FUNiX tại đây:
    1. PRF192x – Học thế nào để hiệu quả nhất: https://youtu.be/dtE6hzlLmes
    2. Những công cụ không thể thiếu trong hoàn thiện web: https://youtu.be/iWgYMYhi1qQ
    3. WEB101x – Hoàn thiện một giao diện Website: https://youtu.be/QLaapgtWHD0
    ———————————-
    Theo dõi thêm thông tin tại: https://funix.edu.vn/tin-tuc-funix/ti…
    ===============================
    Các kênh của FUNiX:
    📚 Fanpage: https://www.facebook.com/funix.fpt
    📚 𝐖𝐞𝐛𝐬𝐢𝐭𝐞: https://funix.edu.vn/
    📚 𝐓𝐢𝐤𝐭𝐨𝐤: https://vt.tiktok.com/ZSpNqWUR/
    📚 Zalo: https://zalo.me/0782313602

    java thuvienjquery xaydungphanmemdautien

Xem thêm các bài viết khác thuộc chuyên mục: WordPress

XEM THÊM  Trang web không hiển thị trên Google? (10 bản sửa lỗi nhanh) - trang web của tôi không hiển thị trên google

By DEVTEAM