06/04/2021, 14:48

Fixed Sidebar Scrolling Với jQuery - jQuery cho Designer

Thông thường trong website phần sitebar nội dung của nó đôi khi ngắn hơn nội dung chính nên khi ta kéo scroll xuống dưới thì khi qua hết sidebar nhìn sẽ trống trơn, điều này không đẹp cho lắm. Chính vì vậy một số website đã sử dụng cách đó là khi ta kéo xuống đến widget cuối cùng thì nó sẽ fixed ...

Thông thường trong website phần sitebar nội dung của nó đôi khi ngắn hơn nội dung chính nên khi ta kéo scroll xuống dưới thì khi qua hết sidebar nhìn sẽ trống trơn, điều này không đẹp cho lắm. Chính vì vậy một số website đã sử dụng cách đó là khi ta kéo xuống đến widget cuối cùng thì nó sẽ fixed theo màn hình luôn. Để làm được như vậy bằng cách nào thì trước tiên chúng ta tìm hiểu đã nhé.

1. Sử dụng jQuery để fixed sidebar khi scrolling

Trước kia mình cũng từng tự viết ra một hàm để xử lý vấn đề này, nhưng sau thấy nó không được mượt mà lắm vì khi phần sidebar quá lớn thì kéo xuống dưới cùng nó che luôn footer. Mình cũng nghĩ là đo khoảng cách giữa footer và xử lý ẩn sidebar khi phần sidebar vừa tới footer. Và mình đã viết nhưng rốt cuộc nhìn vẫn không mướt mắt.

Sau mình vô tình thấy một website làm bằng Wordpress sư dụng chức năng này nên tìm hiểu thấy có một hàm khá hay, vì vậy mình lấy luôn và sẵn chia sẽ cho nhũng bạn không sử dụng wordpress tích hợp vào website nhé.

Bước 1Trước tiên bạn cần download nội dung file js tại đây.
Bước 2: Tích hợp thư viện jquery và thư viện vừa download vào Website
Bước 3: Thực hiện code cho ứng dụng, 

jQuery(document).ready(function(){
            var q2w3_sidebar_1_options = { 
                "sidebar" : "sidebar", 
                "margin_top" : 50, 
                "margin_bottom" : 310, 
                "screen_max_width" : 0, 
                "width_inherit" : false, 
                "widgets" : ['main-adsense-sidebar'] 
            };
            q2w3_sidebar(q2w3_sidebar_1_options);
            setInterval(function () { q2w3_sidebar(q2w3_sidebar_1_options); }, 1500);
        });

Trong đó bạn cần chú ý tới các thông số sau, các thông số còn lại không quan tâm nhé :D:

  • "sidebar" : "sidebar" là ID của Sidebar
  • "margin_top" : 50 là số pixels so với lề trên
  • "margin_bottom" : 310 là số pixels so với lề dưới
  • "widgets" : ['main-adsense-sidebar'] là danh sách các widget (theo id)

2. Lời kết

Bấy nhiêu thôi quá đủ để cho bạn làm rồi đấy. Bạn xem demo và Viewsource nó lên để xem cách làm nhé.

DEMO

0