Làm Cố Định Widget Bất Kỳ Trên Sidebar Khi Cuộn Trang Cho Blogspot/Blogger - NTLRUBY -->
Làm Cố Định Widget Bất Kỳ Trên Sidebar Khi Cuộn Trang Cho Blogspot/Blogger Làm Cố Định Widget Bất Kỳ Trên Sidebar Khi Cuộn Trang Cho Blogspot/Blogger
  • Làm Cố Định Widget Bất Kỳ Trên Sidebar Khi Cuộn Trang Cho Blogspot/Blogger

    Làm cố định Widget để làm gì?
    + Tận dụng tối đa không gian trống ở cuối thanh Sidebar.
    + Làm nổi bật một nội dung một Widget nào đó.
    + Giúp người dùng truy cập nhanh vào một nội dung nào đó.
    + Hay cố định một banner quảng cáo của các bạn.
    + ...v.v
    Trên mạng có rất nhiều trang hướng dẫn nhưng hầu như tất cả các cách hướng dẫn đều làm cố định Widget ở cuối Sidebar. Bài này mình sẽ chia sẻ với các bạn thêm một cách nữa đó là cách làm cố định một Widget nằm ở bất kỳ vị trí nào trên Sidebar (Demo là Widget Namesilo của mình).

    1. Làm Cố Định Widget Bất Kỳ Trên Sidebar:

      - Bước 1: Các bạn vào trang quản trị Blogger của mình đến Bố cục và tìm Widget mà mình muốn cố định, nhấn vào chỉnh sửa rồi copy toàn bộ code của nó đem ra Notepad để tạm nhé. :)

      - Bước 2: Xóa phần code của các bạn trong Widget đó đi. Sau đó copy phần code bên dưới đây thay vào đó.
    <div class="banner">
    CODE CỦA BẠN
    </div>
    <script>
    var $stickyHeight = 460; // chiều cao
    var $padding = 80; // khoảng cách từ trên xuống khi cố định
    var $topOffset = 2560; // khi bạn cuộn trang xuống 2560px Widget sẽ xuất hiện, các bạn có thể thay đổi cho phù hợp độ dài Sidebar của mình.
    var $footerHeight = 100; // Địểm dừng của Widget, tính từ chân lên
    /* <![CDATA[ */
    function scrollSticky(){
    if($(window).height() >= $stickyHeight) {
    var aOffset = $('#sticky').offset();
    if($(document).height() - $footerHeight - $padding < $(window).scrollTop() + $stickyHeight) {
    var $top = $(document).height() - $stickyHeight - $footerHeight - $padding - 185;
    $('#sticky').attr('style', 'position:absolute; top:'+$top+'px;');
    }else if($(window).scrollTop() + $padding > $topOffset) {
    $('#sticky').attr('style', 'position:fixed; top:'+$padding+'px;');
    }else{
    $('#sticky').attr('style', 'position:relative;');
    }
    }
    }
    $(window).scroll(function(){
    scrollSticky();
    });
    /* ]]> */
    </script>
    <div class="sticky" id="sticky">
    CODE CỦA BẠN
    </div>
    <style>
    div.sticky {
    box-shadow:0px 10px 4px -5px rgba(0,0,0,0.3);
    }
    @media screen and (max-width: 990px){
      div.sticky {
        display: none;
      }
    }
    @media screen and (min-width: 990px){
      div.banner {
        display: none;
      }
    }
    </style>
      - Bước 3: Trở ra Notepad copy lại phần code của các bạn lúc nãy và thay vào 2 vị trí "CODE CỦA BẠN" sau đó lưu lại và xem thành quả nhé.



    2. Làm Cố Định Widget Ở Cuối Sidebar:

    Vậy để làm cố định Widget ở cuối Sidebar phải làm như thế nào?
    Để làm điều này các bạn làm như sau:
      - Bước 1: Các bạn cũng vào trang quản trị Blogger của mình đến Bố cục và tìm Widget mà mình muốn cố định (Widget ở cuối Sidebar). Xác định Tên Widget (ID Widget) của Widget đó bằng cách nhấn vào chỉnh sửa sau đó xem Tên Widget ở cuối đường link của Widget đó sau dấu =. Như hình dưới Tên Widget là "HTML9"

      - Bước 2: Các bạn vào trang quản trị Blogger của mình đến Chủ đềChỉnh sửa HTML. Sau đó copy và dán đoạn code bên dưới vào trước thẻ </body>.
    <script>
    //<![CDATA[
    StickyWidget("Tên Widget"); // enter your widget ID here
    function StickyWidget(elem) {
        var GCVN_sticky = document.getElementById(elem);
        var scrollee = document.createElement("div");
        GCVN_sticky.parentNode.insertBefore(scrollee, GCVN_sticky);
        var width = GCVN_sticky.offsetWidth;
        var iniClass = GCVN_sticky.className + ' GCVN_sticky';
        window.addEventListener('scroll', GICO_sticking, false);
        function GICO_sticking() {
            var rect = scrollee.getBoundingClientRect();
            if (rect.top < 0) {
                GCVN_sticky.className = iniClass + ' GICO_sticking';
                GCVN_sticky.style.width = width + "px";
            } else {
                GCVN_sticky.className = iniClass;
            }
        }
    }
    //]]>
    </script>
    <style>
    .GICO_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:relative9 !important;}

    </style>
    ***Lưu ý: Các bạn nhớ thay Tên Widget của mình vào chỗ "Tên Widget" trong phần code nhé. Sau đó lưu lại và kiểm tra kết quả nhé.

    Các bạn chọn cách nào trong 2 cách trên?
    Chúc các bạn thành công!


  • Bài Viết Liên Quan

    Vui lòng đăng nhập tài khoản tương ứng trên trình duyệt của bạn trước khi bình luận!

    Google

    Zalo

    1 nhận xét :

    NTLRUBY nói...

    Do bài này mình viết trước khi Blogger cập nhật phiên bản, nên cách xác định ID Widget ở bước 1 của phần 2 không còn áp dụng được nữa.
    Các bạn xem cách xác định ID Widget trong video này nha: https://www.youtube.com/watch?v=Pm4wzcuvWR4

    Đăng nhận xét

    Hãy đánh dấu vào "Thông báo cho tôi" trước khi gửi bình luận để nhận được thông báo khi Admin trả lời!

NTLRUBY

Đăng ký kênh để ủng hộ NTLRUBY và xem những video thị phạm code nhé!