2012-05-01 38 views
8

Câu hỏi đầu tiên của tôi là làm thế nào để họ có được thanh cuộn này?Facebook đạt được cuộn vô hạn như thế nào?

http://dl.dropbox.com/u/12337149/scrollbar.png

Tôi đã nhìn thấy nó ở một vài nơi vì vậy tôi đoán nó có thể là trong một thư viện công cộng? Câu hỏi thứ hai của tôi liên quan đến việc cuộn vô hạn. Một lần nữa tôi đã nhìn thấy nó trên một vài trang web để nó là một kỹ thuật tương đối phổ biến và được mô tả ở đâu đó?

+1

Không biết những gì facebook sử dụng, nhưng kiểm tra này: http://www.infinite-scroll.com/ – bfavaretto

+0

@bfavaretto Họ có thể tạo riêng của họ giống như họ đã tạo thư viện javascript của riêng họ. – Nathan

Trả lời

12

Bạn có nghĩa là hiệu ứng "tải chậm" như trên Twitter (khi bạn cuộn, nó tải nhiều hơn khi bạn chạm đáy)? Họ sử dụng AJAX (Asynchronous JavaScript and XML) và đo lường khi bạn đến đáy và tải thêm dữ liệu. Nhưng họ sử dụng JSON vì nó dễ dàng hơn cho hầu hết mọi người hơn XML (nhưng nó vẫn được gọi là AJAX).

Có một plugin jQuery cho cái gọi là Infinite Scroll.

Cũng cho điều cuộn thanh, chúng giống như thanh cuộn của Mac OS X Lion (rất có thể là nơi chúng có ý tưởng từ), đây là một Stack Overflow post khác về nó.

Tôi hy vọng điều này sẽ cung cấp cho bạn một số thông tin về nội dung này.

Và bằng cách này nếu bạn không biết jQuery là gì, nó là một thư viện tuyệt vời cho JavaScript và làm cho mọi thứ nhanh hơn để viết mã bằng JavaScript. Bạn nên kiểm tra nó tại jQuery.com nếu bạn không bao giờ sử dụng nó/nghe nói về nó.

1

AJAX (thường được triển khai với nguyên gốc XmlHttpRequest; thực sự sử dụng định dạng JSON thay vì Xml) là hành động thực hiện yêu cầu máy chủ trong javascript mà không cần tải lại trang và đăng ký gọi lại để xử lý phản hồi. Khi phản hồi đến, cuộc gọi lại được gọi với dữ liệu, như tìm nạp trang, nhưng không tải lại trang.

+0

Sự kiện kích hoạt yêu cầu là gì? –

+0

Tôi nghĩ rằng bạn có nghĩa là "cũng được biết đến thông tục như AJAX". JSON có thể hoặc không được sử dụng làm định dạng dữ liệu đang được truyền bởi XHR/AJAX, nhưng không giống nhau. – Steve

+0

@Steve: oops, cảm ơn, tôi biết có điều gì đó sai khi tôi gõ vào đó. – ninjagecko

Các vấn đề liên quan