Tạo Sticky cho nhiều Widget của blogspot
Thông thương khi các bạn kéo thanh cuộn xuống để xem phần dưới của blog thì các phần trên nó sẽ bị ẩn đi. Vậy nếu muốn hiển thị một tiện ích có ID bất kỳ khi bạn kéo chuột xuống dưới blog dạng Sticky thì phải làm thế nào.

Bài viết này namkna sẽ hướng dẫn các bạn làm điều đó tạo Sticky cho một widget có Id bất kỳ, Bạn có thể áp dụng nó cho các widget chứa các nút like của các mạng xã hội hay hộp đăng ký nhận tin của bạn, hoặc đơn giản hơn là cho một menu, một banner quảng cáo mà bạn muốn. Với cách tạo Sticky này cho dù bạn kéo chuột đến vị trí nào đi nữa thì tiện ích của bạn vẫn luôn xuất hiện tại vị trí mà bạn muốn, trong bài viết này là trên đầu của blog.

Bạn có thể xem demo ngay trên blog của mình hãy kéo chuột xuống dưới chân trang và chú ý thanh menu ở trên đầu blog mình cũng di chuyển theo và không hề biến mất nha.

» Bước 1: Xác định ID của Wdget tiện ích cần tạo hiệu ứng Sticky

1.1- Vào Bố cục (Layout) -> Nhấp vào Chỉnh sửa (Edit) trên Widget cần áp dụng tiện ích Sticky.
Tạo Sticky cho nhiều Widget của blogspot
1.2 - Một cửa sổ Popup bật lên, bạn nhìn vào phía trên góc phải (gần thanh tiêu đề) sẽ thấy dòng có dạng tương tự sau: …null&widgetId=HTML10 (trong trường hợp này là widget HTML10, đối với widget khác sẽ có ID khác)
Tạo Sticky cho nhiều Widget của blogspot
- Sau khi xác định được Id của tiện ích bạn đóng cửa sổ popup đó lại và tiến hành bước tiếp theo nha.

» Bước 2: Thêm code để tạo hiệu ứng Sticky  cho widget mà bạn muốn

Sau khi xác định được Id của tiện ích cần tạo hiệu ứng Sticky  bạn tiếp tục thực hiện các bước sau để dán Sticky  cho tiện ích đó nha:
2.1- Đăng nhập vào blog của bạn.
2.2. Vào phần Mẫu (Template) => Chọn Chỉnh sửa HTML (Edit HTML)
2.3- Chèn đoạn code bên dưới vào trước thẻ </head> .
<script>
// Sticky widget by namkna.blogspot.com
// Tutorial at http://namkna.blogspot.com/2013/10/tao-sticky-cho-nhieu-widget-cua-blogspot.html
// Free to use or share, but please keep this notice intact.
//<![CDATA[
bs_makeSticky("HTML10"); 
function bs_makeSticky(elem) {
    var bs_sticky = document.getElementById(elem);
    var scrollee = document.createElement("div");
    bs_sticky.parentNode.insertBefore(scrollee, bs_sticky);
    var width = bs_sticky.offsetWidth;
    var iniClass = bs_sticky.className + ' bs_sticky';
    window.addEventListener('scroll', bs_sticking, false);
    function bs_sticking() {
        var rect = scrollee.getBoundingClientRect();
        if (rect.top < 0) {
            bs_sticky.className = iniClass + ' bs_sticking';
            bs_sticky.style.width = width + "px";
        } else {
            bs_sticky.className = iniClass;
        }
    }
}
//]]>
</script>

<style>
.bs_sticking {background:#f2f2f2 !important; position:fixed !important; top:0; z-index:9999; box-shadow:0px 10px 4px -5px rgba(0,0,0,0.3); margin-top: 0; position:relative\9 !important;}
</style> 
» Tùy chỉnh:
  • Thay HTML10 thành Id widget  mà bạn muốn hiển thị trong chế độ Sticky. Trong trường hợp này id của mình là HTML10 bạn hãy thay đổi lại nó cho phù hợp với tiện ích mà bạn muốn áp dụng nha;
  • Bạn cũng có thể tùy chỉnh lại màu săc, cỡ chữ và cị trí dính banner bằng cách thay đổi các thuộc tính nằm trong class .bs_sticking.
2.4- Lưu mẫu lại và vào blog kiểm tra lại xem tiện ích mà bạn vừa áp dụng có hiển thị khi kéo chuột xuống chân của blog không nha.