![]() |
Sticky Widget - Thủ thuật cố định Widget khi cuộn trang sử dụng JS cho Blogspot. Ảnh: davetsizhayat.com |
Thế nên việc cố định 1 widget khi cuộn trang là khá cần thiết trong trường hợp này. Bài viết này mình sẽ hướng dẫn các bạn dùng javascript để cố định 1 widget lại luôn trượt theo khi bạn cuộn trang.
Cách thực hiện
Bước 1. Đăng nhập vào giao diện chỉnh sửa HTML Blogger.Bước 2. Dán đoạn code bên dưới vào trước thẻ
</body>
trong template.<script>Bước 3. Lưu mẫu và tùy chỉnh.
/*<![CDATA[*/
! function(t) {
var e = {
topSpacing: 0,
bottomSpacing: 0,
className: "is-sticky",
center: !1
},
i = t(window),
n = t(document),
s = [],
c = i.height(),
a = function() {
for (var t = i.scrollTop(), e = n.height(), a = e - c, o = t > a ? a - t : 0, r = 0; r < s.length; r++) {
var p = s[r],
l = p.stickyWrapper.offset().top,
d = l - p.topSpacing - o;
if (d >= t) null !== p.currentTop && (p.stickyElement.css("position", "").css("top", "").removeClass(p.className), p.currentTop = null);
else {
var h = e - p.elementHeight - p.topSpacing - p.bottomSpacing - t - o;
0 > h ? h += p.topSpacing : h = p.topSpacing, p.currentTop != h && (p.stickyElement.css("position", "fixed").css("top", h).addClass(p.className), p.currentTop = h)
}
}
},
o = function() {
c = i.height()
};
window.addEventListener ? (window.addEventListener("scroll", a, !1), window.addEventListener("resize", o, !1)) : window.attachEvent && (window.attachEvent("onscroll", a), window.attachEvent("onresize", o)), t.fn.sticky = function(i) {
var n = t.extend(e, i);
return this.each(function() {
var e = t(this);
if (n.center) var i = "margin-left:auto;margin-right:auto;";
stickyId = e.attr("id"), e.wrapAll('<div id="' + stickyId + 'StickyWrapper" style="' + i + '"></div>').css("width", e.width());
var c = e.outerHeight(),
a = e.parent();
a.css("widthd", e.outerWidth()).css("heightt", c).css("clear", e.css("clear")), s.push({
topSpacing: n.topSpacing,
bottomSpacing: n.bottomSpacing,
stickyElement: e,
currentTop: null,
stickyWrapper: a,
elementHeight: c,
className: n.className
})
})
}
}(jQuery);
// bacsiwindows
/*]]>*/
</script>
<script type='text/javascript'>
$(document).ready(function(){
$("#PopularPosts1").sticky({topSpacing:10,bottomSpacing:400});
});
</script>
- Thay #PopularPosts1 thành ID của Widget mà bạn muốn áp dụng.
- topSpacing là khoảng cách tính từ trên xuống khi cuộn.
- bottomSpacing là khoảng cách tính từ chân trang lên đến widget, khi chạm đến mốc mà bạn thiết lập thì widget sẽ ngừng không cuộn nữa.
Hướng dẫn bình luận
Chèn chữ in đậm: Chữ in đậm
Chèn chữ in đậm: Chữ in nghiêng
Chèn ảnh: [img]Link Ảnh[/img]
Một số lưu ý khi bình luận
Không đăng bình luận có nội dung khiêu dâm, 18+
Không đăng bình luận có liên quan đến chính trị, nhà nước.
Không đăng bình luận có nội dung phản động, kích động chiến tranh, thù địch.
Không đăng bình luận có nội dung phản cảm, bêu rếu, nói xấu.
Không đăng bình luận có nội dung tục tiểu, bậy bạ hay thậm chí "vô học".
Không đăng bình luận có liên kết spam, dẫn đến những trang có nội dung xấu.
Được đăng bình luận có mang tính đóng góp, xây dựng bài viết / blog.
Được đăng bình luận có liên quan đến nội dung bài viết.
Có thể góp ý, hay báo lỗi bài viết (thiếu ý, sai chính tả hay thiếu hình ảnh minh họa).
Bấm Thông báo cho tôi bên dưới khung bình luận để nhận thông báo khi admin trả lời.
Bạn có thể dùng ảnh động hoặc mã hóa code HTML để bình luận.
Bấm vào đây để xem chi tiết hơn nội quy trên Blog.