• 01-06-2020, 02:56:47
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Herkese merhaba bu konumda kendi temamda kullandığım cookie ve saf js kullanarak yaptığım dark mode özelliğini anlatacağım.
    Cookie githubdan aldığım hazır bir javascript kütüphanesine bağlıdır.

    Sistemi hazırlayalım...
    Bize öncelikle bir button tarzı bir nesne lazım ki tıklama yaptığımızda işlem yapalım.Örnek bir oluşturalım;
    <a id="theme-toggle">Gece/Gündüz</a>
    Evet burada bir attribute nesnemize theme-toggle id si verdik.
    Şimdi sistemimize cookie library dahil edelim.Bunu cdn kullanarak yapabiliriz.Aşağıda verdiğim linkten bakabilirsiniz.
    Link

    Şimdi bir js oluşturalım.
    document.addEventListener('DOMContentLoaded', function() {  
     'use strict';
       var nightToggle = document.querySelector('#theme-toggle');
       if (!nightToggle) return;
       nightToggle.addEventListener('click', function(el) {
           el.preventDefault();
           document.documentElement.classList.toggle('gece-modu');
           if (document.documentElement.classList.contains('gece-modu')) {
               Cookies.set('darkMode', 'true', { expires: 365});
               return;
           }
           Cookies.remove('darkMode');
       }, false);
     });
    Kodu açıklamak gerekirse nightToggle adlı değişkene bizim oluşturduğumuz attribute atıyoruz.Buna tıklama fonksiyonunda preventDefault sayesinde href değerini yoksayıyoruz.Daha sonra gece modu adında bir classi toggle ediyoruz.Yani varsa siliyoruz yoksa ekliyoruz.Eğer bu class tanımlıysa Cookie kütüphanesi ile 365 gün dolma süresine bağlı olan darkMode isimli ve değeri true olan bir cookie oluşturuyoruz.Eğer class yoksa da Cookieyi siliyoruz.

    Peki biz cookie varsa sayfa oto dark mode ayarlasın istiyoruz ne yapabiliriz? </head> tagı altına script tagı içerisinde verdiğim kodu girebilirsiniz.
    var darkMode = Cookies.get('darkMode');
           if (darkMode) {
               document.documentElement.className += ' gece-modu';
           }
    Css içerisinde örnek bir kullanım da belirtiyorum;
    .div {
    background:#fff;
    }
    .gece-modu .div {
    background:#1d1d1d;
    }
  • 01-06-2020, 03:06:29
    #2
    Saolun paylaşım için
  • 01-06-2020, 03:09:23
    #3
    teşekkürler ve hayırlı olsun hocam üyeliğiniz
  • 01-06-2020, 03:10:06
    #4
    safakyilmaz adlı üyeden alıntı: mesajı görüntüle
    teşekkürler ve hayırlı olsun hocam üyeliğiniz
    rica ederim ben de teşekkür ederim



    Xenforo için de anlatımını yaptım;

    https://youtu.be/2b5g_KzWY1s

    Kodlar farklı ancak olay aynı ilk postta paylaştığımı kullanabilirsiniz.