"Sticky" Floating Menu & Widget in Blogger
Vào một số website các bạn sẽ thấy thanh menu hoặc 1 số widget nhất luôn cố định khi cuộn trang, người ta gọi đó "Sticky Menu hoặc Widget". Việc giữ cố định Menu hoặc Widget như vậy rất tiện dụng cho các thao tác của độc giả. Bạn không cần phải cuộn chuột lên đầu trang để lựa chọn các mục của Menu hoặc Widget qua đó giúp giảm bớt các thao tác không cần thiết và tăng lượng tương tác với bạn đọc. Có một lưu ý nhỏ các bạn không nên sticky các banner quảng cáo vì có thể vi phạm chính sách của họ, ví dụ như Google Adsense.Sticky Widget
1Vào Mẫu >> Chỉnh sửa HTML và dán đoạn script dưới đây vào trước thẻ </body><script type='text/javascript'>
//<![CDATA[
// Sticky Widget
function makemeSticky(e){function t(){var e=s.getBoundingClientRect();e.top<0?(n.className=a+" makesticking",n.style.width=i+"px"):n.className=a}var n=document.getElementById(e),s=document.createElement("div");n.parentNode.insertBefore(s,n);var i=n.offsetWidth,a=n.className+" makesticky";window.addEventListener("scroll",t,!1)}makemeSticky("HTML1");
//]]>
</script>
Với #HTML1 là ID của widget bạn cần dán cố định.
2Tìm đến thẻ ]]></b:skin> và dán đoạn CSS dưới đây vào trước thẻ đó.
.makesticking{background:none!important;position:fixed!important;top:25px;z-index:99;-webkit-transform:translateZ(0);}
#HTML1 .widget-content {padding:0;margin:auto;}
Sticky Menu
1Trước tiên bạn cần xác định Class hoặc ID chứa menu, ví dụ #menu2Vào Mẫu >> Chỉnh sửa HTML và dán đoạn jQuery dưới đây vào trước thẻ </body>
<script type='text/javascript'>
//<![CDATA[
// Sticky Menu
$(function() {
var top = $('#menu').offset().top - parseFloat($('#menu').css('marginTop').replace(/auto/, 0));
var footTop = $('#footer').offset().top - parseFloat($('#footer').css('marginTop').replace(/auto/, 0));
var maxY = footTop - $('#menu').outerHeight();
$(window).scroll(function(evt) {
var y = $(this).scrollTop();
if (y > top) {
if (y < maxY) {
$('#menu').addClass('fixed').removeAttr('style');
} else {
$('#menu').removeClass('fixed').css({
position: 'absolute',
top: (maxY - top) + 'px'
});
}
} else {
$('#menu').removeClass('fixed');
}
});
});
//]]>
</script>
3Thêm thư viện jQuery dưới đây vào sau đoạn code trên nếu blog của bạn chưa có.
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
4Thêm thuộc tính position: absolute; và set vị trí của Menu khi cuộn trang top: 0; bằng cách tìm đến thẻ ]]></b:skin> và dán đoạn CSS dưới đây vào trước thẻ đó.
#menu {
position: absolute;
width: 100%;
max-width: 920px;
height: 60px;
margin: auto;
background: #fc4f3f;
z-index: 99;
}
#menu.fixed {
position: fixed;
top: 0;
z-index: 99;
}
Chỉnh sửa đoạn code cho phù hợp với website của bạn
Nếu có bất kỳ vấn đề khó khăn hay câu hỏi gì, bạn đừng ngần ngại, hãy để lại bình luận ở form bên dưới nhé.
Chúc bạn thành công!
Điều này cho biết, bạn đang rất nôn Tết :D
Trả lờiXóahttp://i.imgur.com/rKFpomD.jpg
:o Có PTS gì không đấy chú :-dig chứ nào giờ vẫn để background như thế này mà có đổi gì đâu :+
Xóahttp://i.imgur.com/TrZg0dQ.png
PTS gì mà siêu nhân dữ vậy ? :-O
Xóa|-| Nhìn kỹ hình 1 so với hình 2 sẽ thấy có 1 vài chỗ "bất ổn" nhé :; Với lại nghi ngờ chú F12 lắm ah :-dig
XóaCảm ơn nhiều, vẫn là bài viết của bạn dễ dàng thực hiện nhất. Mình đọc mấy trang khác toàn phải canh tùm lum à.
Trả lờiXóabác comeback rồi ah ^^
XóaNhớ em à, giờ chưa ngủ nhỉ
XóaHên xui ;-P. Tại đang bận cái pj website bđs của ông anh nhờ làm nên ráng cày cho kịp deadline ấy mà.
XóaMuốn 2 cái widget dừng thì làm sao bạn nhỉ?
Trả lờiXóaAh cái đó thì phải thêm js hoặc css vào. Bài đó viết cũng định viết lâu rồi mà quên mất, còn lưu ở nháp mới khoảng 50% @@ bạn đợi khoảng 30p rồi quay lại nhé
XóaXem tại đây nhé /-ok
Xóahttp://iris-tips.blogspot.com/2017/03/sua-loi-sticky-widget-chong-lan-vao-footer-blogger.html
Bạn ơi giúp mình với :(
Trả lờiXóaNãy temp vẫn bình thường nhưng sau khi mình dùng code ở đây thì tự nhiên giờ widget recent comment và bài viết liên quan đều không hoạt động :(
Hình như mình thay linh tinh code trên nên bị sao rồi. Xóa code sticky widget đi rồi mà vẫn bị. Ở blog test thì ksao.
Code bạn đưa mình chèn như này
1.
<script type='text/javascript'>
//<![CDATA[
// Sticky Widget
function makemeSticky(e){function t(){var e=s.getBoundingClientRect();e.top<0?(n.className=a+" makesticking",n.style.width=i+"px"):n.className=a}var n=document.getElementById(e),s=document.createElement("div");n.parentNode.insertBefore(s,n);var i=n.offsetWidth,a=n.className+" makesticky";window.addEventListener("scroll",t,!1)}makemeSticky("PopularPosts2,Label1");
//]]>
</script>
2. trc ]]>
.makesticking{background:none!important;position:fixed!important;top:25px;z-index:99;-webkit-transform:translateZ(0);}
#PopularPosts2,#Label1 .widget-content {padding:0;margin:auto;}
Mình gửi temp qua link cũ cho bạn rồi. Hay do mình tự ý thêm Label1 vào nên nó xung đột gây lỗi r ạ. Mình đã thay temp mới mà vẫn bị thế :(
à được rồi bạn ạ.
Trả lờiXóachắc do hôm qua blogspot làm gì blog e thì phải. sáng bật lên mọi thứ lại bình thường hết rồi :3
Uhm bạn hình như hôm qua Blogger bị lỗi hay cập nhật gì đó nên 1 số cái có vấn đề, giờ bình thường lại hết rồi ;-D /-st
XóaỪ. Hôm qua mình sợ. Phải qua cầu cứu bạn luôn. Mà bạn ơi vụ đăng kí gg adsense hên xui nhỉ? Có 1 vài blog mình thấy do lâu quá thôi vì bài viết không có mấy nhưng đăng kí đc rồi, hay do blog đó dùng domain .com nên đc ưu ái hơn ạ?
XóaCái đó cũng hên xui do người xét duyệt website bạn nữa, dùng free domain vẫn đăng ký được bình thường không sao hết, chủ yếu là nội dung trên trang thôi.
XóaCho minh xin contac để tra đổi . Cảm ơn
Trả lờiXóaBạn vào đây nhé
Xóahttp://iris-tips.blogspot.com/p/contact.html
Mình có làm thanh menu ở bài này của bạn và đc rồi nhưng áp dụng sticky menu thì k đc mặc dù đã thay #menu thành #mcd-menu. bạn giúp mình với
Trả lờiXóaQuên mất link: https://iris-tips.blogspot.com/2015/12/pure-css3-mega-dropdown-menu-animation-horizontal.html
Xóa.mcd-menu bạn
XóaMình cũng thay thế rồi mà không được bạn ạ :((
XóaBạn sửa trong bài kia <nav> thành <nav id="menu"> đoạn code bên bài này giữ nguyên, mình test ok rồi nhé
Xóahttps://goo.gl/7vgeyp
OK mình làm đc rồi :)) tuyệt quá.
Trả lờiXóaMà bạn ơi. Muốn làm 1 danh mục label như này thì làm ntn hả bạn?
Trc mình có đọc đc 1 bài bên blog nc ngoài dạy gộp mà giờ k nhớ để tìm lại :(
Danh muc label là sao bạn ;-? mình không hiểu lắm
XóaÀ mình cứ quên k đưa link demo.
Trả lờiXóaĐây bạn: https://chuyenmucanhdep.blogspot.com/2017/08/anh-bia-oi-anh-oi-en-hoa-cung-tan-inh.html
Trong này là cái phần danh mục ngay đầu tiên của sidebar đó.
Hình như là cái này
Xóahttp://iris-tips.blogspot.com/2016/11/an-hien-blogger-label-voi-jquery.html
Đúng rồi bạn ạ :)) Cũng tựa tựa như này. Cơ mà nó nhiều label quá, giờ muốn làm thanh cuộn scrollbar cho nó để cho đỡ dài thì làm như nào ạ?
XóaChỗ phần Hiển thị bạn có thể bấm vào ô Nhãn đã chọn để lọc lại chỉ hiển thị 1 sô label cần thiết thôi. Còn nếu muốn tạo thanh cuộn scrollbar thì bạn có thể tham khảo thử bài viết này.
Xóahttp://iris-tips.blogspot.com/2015/03/tao-thanh-cuon-scrollbar-cho-the-div-bang-css-cho-blogger.html
Có cách nào view source bằng chuột phải hoặc ctrl+u mà nó trắng tinh blog lẫn source như này không iris? tại dùng chống chuột phải đôi khi bất tiện, mà mình lại k muốn bị lấy code?
Trả lờiXóahttp://www.bacsiwindows.com/?m=1
Trả lờiXóa1 nùi code mà có trắng gì đâu
Xóahttp://imageshack.com/a/img922/3778/WbegvP.png
Không có cách nào chống view source hoàn toàn đâu bạn, muốn bảo vệ data thì chỉ có cách là mã hóa code thôi. Mà có mã hóa thì sẽ có giải mã, chủ yếu trình của ai cao hơn thôi. Không có cái gì 100% đâu bạn :-D
Thế đành chịu vậy. Tại mình thấy nhiều ng rip temp xong mang đi bán nên hơi buồn tí thôi
Trả lờiXóaGiờ chỉ còn cách mã hóa thôi bạn ạ
Xóa