Detect scrolling bottom của thẻ DIV
Đăng trong danh mục Javascript, Web Programming bởi admin | Tags: ajax, browser, css, detect, div, html, Javascript
Đang triển khai cái dzụ Scrolling Ajax, tính kiếm cái plugin nào xài thử thì chẳng thấy cái nào tốt và phù hợp ý mình cả, thôi thì tự sướng. Scrolling Ajax là cái chức năng dàn trang cao cấp mà bạn không cần phải nhấn link để sang trang khác, chỉ việc dùng thanh cuộn, kéo xuống hết thì nó sẽ tự động load tiếp nội dung của trang sau (sử dụng Ajax). Sau 1 hồi phân tích thì cái khó nhất của vụ án Scrolling Ajax không phải là load ajax mà là…làm sao biết đang ở cuối trang.
Search đã đời cùng với ngồi thử nghiệm thì chẳng thấy cái nào chạy được, buồn vài phút, ngồi lẩm nhẩm thì ra cách thực hiện và công thức để tính được làm sao phát hiện người dùng đã kéo. Bài toán của mình là dùng cho thanh cuộn của 1 thẻ DIV có fix height (cái này dân làm CSS nói ra biết liền) và các giá trị là tính từ DIV này mà có được.
Đã test trên winxp với các trình duyệt: IE6,7, Firefox 3, Google Chrome, Opera 10, Safari 4
Vì không có nhiều thời gian nên quăng nguyên cái hình mình ngồi phân tích và ghi chú cùng với công thức để chia sẽ với ai quan tâm (chắc không nhiều người đâu, nếu đụng tới mấy cái chức năng dạng này thì bạn cũng dữ dằn, rất hân hạnh được quen biết ^^)
Bài viết liên quan:
7 Lời bình cho bài viết “Detect scrolling bottom của thẻ DIV”
Viết lời bình
Bình luận mới nhất
- phpmailer gởi mail SMTP bằng Gmail/Google Apps
"@trung, nếu vậy thì thử tes" - admin - phpmailer gởi mail SMTP bằng Gmail/Google Apps
"SMTP Error: Could not connect to SMTP host. mình đã làm đủ cách như e" - trung - Cấu hình domain ảo ở localhost
"Chào Cho mình hỏi mình co 1 server window dang chay IIS web asp.net " - Minh Phuong - dotProject - Online Project Management
"@tùng, lỗi quá rõ ràng rồi " - admin - dotProject - Online Project Management
"mình install báo lỗi: not create database.Mình không biết xử lý thế nà" - tùng - Review sách: Hiểu về trái tim - Minh Niệm
"may ban cho minh hoi la : minh nho` nguoi nha di mua sach dum, vi minh" - Tracy - Làm IT nên đọc ebook của nhà xuất bản nào?
"@Lê Hoàng Dũng, Mình cũng" - long - Hội thảo: Heavy Web Optimization – Back-end
"Đã là slide thì sao mà chi tiết được, thế mới gọi là thuyết trình chứ," - DaiGiaCaiBang - Hội thảo: Heavy Web Optimization – Back-end
"Nếu có thể thì anh Tuấn nên viết slide chi tiết hơn tí để mọi người kh" - ichuot - FBNC - Kênh truyền hình TPHCM "pro" nhất hiện nay!
"neu ban dung cap SCTV, ban co the xem SCTV8, day la kenh VITV phat son" - nga
Danh mục
- android (3)
- Business (24)
- Flash (1)
- Graphic Design (16)
- IT Guys (1)
- Javascript (9)
- Miscellaneous (58)
- Photography (9)
- PHP (41)
- Review sách (13)
- Search Engine Optimization (2)
- security (3)
- software (5)
- User Interface Design & Usability (8)
- Web Design (28)
- Web Programming (50)
Lưu trữ
- May 2012 (1)
- March 2012 (2)
- February 2012 (1)
- January 2012 (1)
- December 2011 (1)
- November 2011 (2)
- September 2011 (2)
- August 2011 (1)
- July 2011 (4)
- June 2011 (2)
- May 2011 (2)
- April 2011 (2)
- March 2011 (2)
- February 2011 (2)
- January 2011 (4)
- December 2010 (6)
- November 2010 (3)
- October 2010 (3)
- September 2010 (5)
- August 2010 (6)
- July 2010 (5)
- June 2010 (2)
- May 2010 (5)
- April 2010 (7)
- March 2010 (8)
- February 2010 (4)
- January 2010 (10)
- December 2009 (12)
- November 2009 (12)
- October 2009 (15)
- September 2009 (16)
- August 2009 (11)
- July 2009 (15)
- November 2008 (1)
- October 2008 (1)
- September 2008 (3)




January 5, 2010 at 11:31 pm
Lâu lắm rồi không vô blog của anh hai! vẫn khó hiểu và dễ đọc như ngày xưa. Dạng ý tưởng đọc thấy dễ mà làm thì “đui” mắt quá à. Em vừa đọc cái plugin “Paginator or Paginator 3000″. Cũng là một dạng chuyển trang. Nhưng thực sự ý em là vẫn chưa hình dung ra cái điều anh hai đang nói. Có phải là khi nào kéo chuột cộc trang thì tự động chuyển sang trang kế tiếp không ạ?? Nhưng như vậy thì cũng có vấn đề đó anh. Hihi
[Reply]
admin Reply:
January 6th, 2010 at 10:26 am
Cái đó không phải ý của anh rồi. Ý của anh là mình sẽ load nội dung của trang tiếp theo khi người ta scroll tới cuối cùng, và nội dung mới sẽ được gắn thêm vào nội dung sẵn có, giống như sẽ làm 1 dạng “dài vô hạn” và không có phân trang. Giống vậy nè: http://www.webresourcesdepot.com/dnspinger/
[Reply]
January 7, 2010 at 12:49 am
Em hay vào blog của anh. Hay và bổ ích
Em k biết nhiều về Ajax hay CSS, nhưng em xin góp ý 1 chút cho vụ Scrolling Ajax:
. Cũng có nhiều cách khác cho vụ này, nhưng mục tiêu chung vẫn là khiến người dùng cảm thấy thoải mái nhất 
Mình nên load thêm nội dung mới ngay khi người dùng cuộn gần đến cuối ( có thể là cách bottom khoảng 100px…) để khi cuộn đến cuối thì có thể hiện ngay nội dung mới luôn, bởi nếu tốc độ load chậm thì khi cuộn hết người dùng sẽ phải chờ nó load ( hơi khó chịu )
Hì. Có lẽ anh cũng đã nghĩ tới chuyện này rồi.
Chúc anh ngày mới vui vẻ!
[Reply]
admin Reply:
January 7th, 2010 at 1:14 am
Hi, bạn nói đúng rồi đó. Khi anh triển khai thực tế thì công thức như thế chưa đủ, tùy vào ứng dụng mà developer có thể tạo 1 vùng kích hoạt để chỉ cần scroll vào vùng này thì gọi xử lý ajax. Còn vùng kích hoạt này to hay nhỏ thì tùy vào item hiển thị của mỗi ứng dụng, có ứng dụng 1 row có tí xíu, có ứng dụng 1 row cao cả trăm px nên phải tùy cơ ứng biến
. Cảm ơn bạn đã ghé thăm blog và để lại lời nhắn ^^.
[Reply]
January 7, 2010 at 1:36 am
Her, thế nên em để dấu … sau chữ 100px mà
Cái kích thước tuỳ cơ ứng biến đó có lẽ phải dựa vào % height đã cuộn , rồi thời gian load trung bình của các item mới nữa
–> vân vân.. –> cầu toàn–> haizz
–> Chúc anh ngủ ngon
[Reply]
January 18, 2010 at 12:21 am
em có trang demo rồi anh ạ. http://sortfolio.com/?source=deck nó như trang đó phải ko anh. mà em cũng chưa tìm hiểu mấy cái đó làm sao nữa
[Reply]
September 18, 2011 at 2:45 pm
Down source về nghiên cứu nè anh em: http://www.webresourcesdepot.com/wp-content/uploads/file/wrd-scroll.zip
[Reply]