Tạo nút chuyển đổi giao diện dark light mode có lưu cookie cho blogspot

Click ngay
Chào các bạn, hôm nay mình sẽ hướng dẫn các bạn cách tạo nút chuyển đổi giao diện chế độ sáng / tối cho blogspot


HƯỚNG DẪN CÁCH LÀM:

Bước 1: Vào trang chỉnh sửa HTML, thêm đoạn js này lên trên thẻ </head> (bước này dành cho ai chưa thêm jquery vào blog, nếu thêm rồi thì bỏ qua bước này nhé)
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
Bước 2: Thêm đoạn code này vào menu của blog bạn
<!-- Dark -->
<div class='settings'>
<ul>
<li class='settings-sub-parent' tab-index='0'>
<div class='settings-menu'>
<a class='dark-mode-btn' href='#dark-mode'>
<i class='fas fa-cog'/>
</a></div><ul class='settings-sub-menu'>
<div class='setting-arrow'>
</div>
<li>
<span class='setting-label'>Giao diện tối</span>
<div id='change-theme-btn'>
<input id='change-theme-btn' name='' type='checkbox' value=''/>
<div class='toggle'>
<label for='toggle-change-theme'><i/>
</label>
</div>
</div>
</li>
</ul>
</li>
</ul>
</div>
<!-- End Dark -->
Bước 3: Tìm thẻ </body> và thêm đoạn js này lên trên nó
<script type='text/javascript'>
//<![CDATA[
// Dark mode
document.getElementById('change-theme-btn').addEventListener('click', function () {
    var darkThemeEnabled = document.body.classList.toggle('mode-dark');
    localStorage.setItem('dark-theme-enabled', darkThemeEnabled);
});
jQuery(document).ready(function ($) {
    $(function () {
        $("a.dark-mode-btn").click(function (e) {
            e.preventDefault();
        });
    });
});
//]]>
</script>
Bước 4: Thêm đoạn css này lên thẻ ]]></b:skin>
/* Setting */
.settings{display:inline-block;position:relative}
.settings .settings-menu{display:block;cursor:pointer}
.settings-sub-menu{background:#fff;padding:10px;border:1px solid #e3e3e3;-webkit-box-shadow:0 13px 40px rgba(0,0,0,.15);box-shadow:0 13px 40px rgba(0,0,0,.15);border-radius:6px}
#icon-settings{height:14px!important;width:14px!important;fill:#690;transform:translate(0,10%)}
.setting-label{font-size:16px;color:#2a2a2a;margin-right:50px;font-weight:600}
.settings{float:right;z-index:2}
.settings-sub-parent .settings-sub-menu{width:200px!important;right:2px!important}
ul.settings-sub-menu{padding:15px!important}
div#change-theme-btn{display:inline-block}
input[type=checkbox]{display:none}
.toggle{position:absolute;margin:auto;width:41px;height:25px;top:18px;right:10px}
.toggle label,.toggle i{-webkit-box-sizing:border-box;box-sizing:border-box;display:block;background:#fff}
.toggle label{width:42px;height:24px;border-radius:35px;border:2px solid #e5e5e5;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;cursor:pointer}
.toggle i{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:40px;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.4);box-shadow:0 2px 5px rgba(0,0,0,.4);background:#fff;-webkit-transition:all .3s cubic-bezier(.275,-.45,.725,1.45);-o-transition:all .3s cubic-bezier(.275,-.45,.725,1.45);transition:all .3s cubic-bezier(.275,-.45,.725,1.45)}
input[type=checkbox]:active+.toggle i{width:35px}
.mode-dark input[type=checkbox]:active+.toggle label,.mode-dark input[type=checkbox]+.toggle label{border:12px solid #4cd964}
.mode-dark input[type=checkbox]+.toggle i{left:21px}
.mode-dark input[type=checkbox]:active+.toggle label{border:16px solid #e5e5e5}
.mode-dark input[type=checkbox]:active+.toggle i{left:14px}
.mode-dark .setting-label{color:#e2e2e2}
.mode-dark .setting-arrow:after{background:#2e2d2d}
.mode-dark .settings-sub-menu{background:#2b2b2b;border:1px solid #2b2b2b}
.mode-dark #wpcomm .wc-comment-date a{color:#999}
@media only screen and (max-width:767px) {
.mode-dark .standard-post-special_wrapper{background:#1c1c1c}
}
.settings-sub-menu{visibility:hidden;opacity:0;position:absolute;top:100%;width:100%;z-index:-1;-webkit-transition:all 0.3s ease-in-out 0s,visibility 0s linear 0.3s,z-index 0s linear 0.01s;-o-transition:all 0.3s ease-in-out 0s,visibility 0s linear 0.3s,z-index 0s linear 0.01s;transition:all 0.3s ease-in-out 0s,visibility 0s linear 0.3s,z-index 0s linear 0.01s}.settings-sub-parent:focus .settings-sub-menu,.settings-sub-parent:hover .settings-sub-menu{visibility:visible;opacity:1;z-index:1;-webkit-transform:translateY(10%);-ms-transform:translateY(10%);transform:translateY(10%);-webkit-transition-delay:0s,0s,0.3s;-o-transition-delay:0s,0s,0.3s;transition-delay:0s,0s,0.3s}.setting-arrow{top:-13px;-webkit-box-shadow:-1px -1px 1px -1px rgba(0,0,0,0.6);box-shadow:-1px -1px 1px -1px rgba(0,0,0,0.6);-webkit-transform:rotate(45deg) translate(6px,6px);-ms-transform:rotate(45deg) translate(6px,6px);transform:rotate(45deg) translate(6px,6px);right:9px;position:absolute;-webkit-transition:all 0.3s ease-in-out 0s;-o-transition:all 0.3s ease-in-out 0s;transition:all 0.3s ease-in-out 0s}.setting-arrow::after{content:'';display:block;width:11px;height:11px;background:#fff;-webkit-transition:all 0.3s ease-in-out 0s;-o-transition:all 0.3s ease-in-out 0s;transition:all 0.3s ease-in-out 0s}
ul.settings-sub-menu li{float:inherit!important;position:initial!important}
/* Dark */
body.mode-dark{background-color:#1c1c1c!important;color:#888!important}
.mode-dark .code-muon-chuyen-mau a,.mode-dark #code-muon-chuyen-mau a{color:#fff!important}
.mode-dark .code-muon-chuyen-nen,.mode-dark #code-muon-chuyen-nen{background:#333!important}
/* End Dark */
Lưu ý:
.mode-dark .code-muon-chuyen-mau a hay .mode-dark #code-muon-chuyen-mau a bạn thay thành code muốn chuyển màu
VD: .mode-dark a
Tương tự, .mode-dark .code-muon-chuyen-nen hay .mode-dark #code-muon-chuyen-nen bạn thay thành code muốn chuyển màu nền
VD: .mode-dark .header-middle
Bước 5: Thêm đoạn js này lên <body> để nó lưu lại cookie
<script type="text/javascript">
JSON.parse(localStorage.getItem("dark-theme-enabled"))&&document.body.classList.add("mode-dark");</script>
Chúc bạn thành công!
Code này mình tách từ web https://thuthuatios.com

Nếu bạn sao chép bài viết trên blog thì vui lòng để nguồn vào giúp mình. Tôn trọng người khác thì người khác sẽ tôn trọng lại bạn.

Nếu có thắc mắc gì về code, code lỗi,... thì liên hệ mình để được giúp đỡ nhé.

Thanh Bình Designer, Developer

Muốn giỏi phải học, muốn học thì phải hỏi. Chính vì thế, hãy cùng tham gia thảo luận với nhau để tìm ra câu trả lời nếu có thắc mắc nhé! Xem thêm nhiều bài viết hay tại đây nhé.
Trong quá trình viết bài chúng tôi sẽ có nhiều thiếu sót mong các bạn đóng góp để chúng tôi rút kinh nghiệm hơn !
Nên Xem
  • Ẩn sidebar
  • 12 nhận xét:

    » Không chửi tục, nói bậy, quảng cáo thông qua khung Comment.
    » Không spam link, chia sẻ các link không liên quan đến bài viết.
    » Không xuyên tạc, bôi nhọ tổ chức hay cá nhân nào.
    » Mọi bình luận sai nội quy sẽ bị xóa mà không cần báo trước.