Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

15373

Becerikli
Katılım
11 Ocak 2025
Mesajlar
284
Çözümler
1
Beğeniler
229
Selamlar.

script.js;



JavaScript:
document.getElementById('mobile-menu-icon').addEventListener('click', function() {
  const menu = document.getElementById('menu');
  const body = document.body;  // body'yi seçiyoruz

  // Menüye 'show' sınıfı ekleyip çıkaralım
  menu.classList.toggle('show');

  // Eğer menü açıldıysa, body'ye 'menu-open' sınıfını ekle
  if (menu.classList.contains('show')) {
    body.classList.add('menu-open');  // Menü açıldığında body'ye sınıf ekle
  } else {
    body.classList.remove('menu-open');  // Menü kapanınca sınıfı kaldır
  }
});

function applyJapaneseFontToContent() {
    // Japonca karakter setlerini tanımla
    const hiraganaRegex = /[\u3040-\u309F]/;   // Hiragana
    const katakanaRegex = /[\u30A0-\u30FF]/;   // Katakana
    const kanjiRegex = /[\u4E00-\u9FFF]/;      // Kanji
 
    let elements = document.querySelectorAll('.topic p, .topic h1, .topic h2, .topic h3, .topic h4, .topic h5, .topic h6, .topic ul, .topic ol, .topic li');
 
    elements.forEach(element => {
        const text = element.innerHTML; // Mevcut HTML içeriğini al
        let newContent = '';

        // Metni harf harf işleyelim
        for (let i = 0; i < text.length; i++) {
            let char = text.charAt(i);
        
            // Japonca karakter kontrolü
            if (hiraganaRegex.test(char) || katakanaRegex.test(char) || kanjiRegex.test(char)) {
                // Japonca karakterleri span içine al ve yazı tipini değiştir
                newContent += `<span class="japanese-font">${char}</span>`;
            } else {
                // Diğer karakterleri olduğu gibi ekle
                newContent += char;
            }
        }

        // Güncellenmiş içeriği elemente geri atama
        element.innerHTML = newContent;
    });
}

applyJapaneseFontToContent();  // Sayfa yüklendikçe çağır

    // Kullanıcının renk modu tercihini kaydetmek için bir fonksiyon
    function saveThemePreference(theme) {
        localStorage.setItem("theme", theme);  // Temayı kaydediyoruz
    }

    // Kullanıcının tercih ettiği renk modunu almak
    function getThemePreference() {
        return localStorage.getItem("theme");  // Kaydedilen temayı alıyoruz
    }

    // Sistem renk modunu algıla
    function detectSystemTheme() {
        return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";  // Sistem teması
    }

    // Tema ayarlarını uygula
    function applyTheme(theme) {
        const body = document.body;  // Body elementini alıyoruz
        if (theme === "dark") {
            body.classList.add("is-dark");  // Koyu temayı ekliyoruz
        } else {
            body.classList.remove("is-dark");  // Açık temayı kaldırıyoruz
        }
    }

    // Sayfa yüklendiğinde temayı belirle ve uygula
    document.addEventListener("DOMContentLoaded", function () {
        let savedTheme = getThemePreference();  // Daha önce kaydedilmiş tema var mı?
        if (!savedTheme) {
            // Kaydedilmiş bir tema yoksa sistem temasını kullanıyoruz
            savedTheme = detectSystemTheme();
            saveThemePreference(savedTheme);
        }
        applyTheme(savedTheme);  // Temayı uygula
    });

    // Tema değiştirme butonuna tıklandığında
    document.getElementById("toggleColors").addEventListener("click", function () {
        let currentTheme = getThemePreference();  // Mevcut tema ne?
        let newTheme = currentTheme === "dark" ? "light" : "dark";  // Tema değiştir
        applyTheme(newTheme);  // Yeni temayı uygula
        saveThemePreference(newTheme);  // Yeni temayı kaydet
    });

Tema değiştirecek düğme;
HTML:
<button id="toggleColors" class="nes-btn is-error">🌞/🌕</button>

Çözemedi AI sistemleri.

Düğmeye basınca tepki vermiyor.
 
Son düzenleyen: Moderatör:
Çözüm
Temanın gece/gündüz temasını tetikleyen düğme ve js adresini footer.php'ye alarak çözdüm. Tabii js dosyasını şöyle düzelttirdik.
O zaman tahminimce gerekli olan bir JS fonksiyonu yüklenemediği için buton çalışmadı. Ayrıca bazı Javascript kodları, sayfanın sonunda yüklenmesi gerektiği gibi bazılarında durum tersidir.

Çözebilmenize sevindim. :) Javascript konusunda konsolu mutlaka kullanın. Çok faydasını gördüm.
Merhaba, kodlarınızı tamamen okumak şu anda insanlara ciddi vakit kaybettirebilir. Zaten kimse bunu yapmayacaktır. Bu yüzden adım adım nerede hata olduğunu bulmaya çalışalım. Umarım bu çabamızdan sonuç elde ederiz.

Öncelikle, kullandığınız tarayıcının geliştirici konsoluna bakmamız gerekiyor.

Butona tıkladığınızda hata veya uyarı oluşuyor mu? Eğer oluşuyorsa hangi satır işaret ediliyor? Hata mesajı nedir?

Bu ayrıntıyı yapay zekalara verdiğinizde de çözebilmektedirler.
 
Merhaba, kodlarınızı tamamen okumak şu anda insanlara ciddi vakit kaybettirebilir. Zaten kimse bunu yapmayacaktır. Bu yüzden adım adım nerede hata olduğunu bulmaya çalışalım. Umarım bu çabamızdan sonuç elde ederiz.

Öncelikle, kullandığınız tarayıcının geliştirici konsoluna bakmamız gerekiyor.

Butona tıkladığınızda hata veya uyarı oluşuyor mu? Eğer oluşuyorsa hangi satır işaret ediliyor? Hata mesajı nedir?

Bu ayrıntıyı yapay zekalara verdiğinizde de çözebilmektedirler.
Düğmeye basınca, tepki vermiyor sorun bu.
 
PHP:
GET

Uncaught TypeError: document.getElementById(...) is null

    <anonymous> https://ayhangazi.com.tr/bl-themes/ayhangazi/lib/script.js:71

script.js:71:14

    <anonim> https://ayhangazi.com.tr/bl-themes/ayhangazi/lib/script.js:71

Hmm...
 
PHP:
GET
Uncaught TypeError: document.getElementById(...) is null
    <anonymous> https://ayhangazi.com.tr/bl-themes/ayhangazi/lib/script.js:71
script.js:71:14
    <anonim> https://ayhangazi.com.tr/bl-themes/ayhangazi/lib/script.js:71
Hmm...
Evet, görünen o ki butonun "id=" değeri Javascript değerine doğru şekilde aktarılamıyor :) Hata şu anda bundan kaynaklanıyor gibi gözüküyor. Önce buna odaklanmalıyız. Bu bilgiyi yapay zeka ile de paylaşarak sonuç almayı deneyebilirsiniz. (Yoğunluk nedeniyle biraz geç dönüş yapabilriim.)
 
Temanın gece/gündüz temasını tetikleyen düğme ve js adresini footer.php'ye alarak çözdüm. Tabii js dosyasını şöyle düzelttirdik.

JavaScript:
document.addEventListener('DOMContentLoaded', function () {
    // Tema işlemleri
    function saveThemePreference(theme) {
        localStorage.setItem('theme', theme);
    }

    function getThemePreference() {
        return localStorage.getItem('theme');
    }

    function detectSystemTheme() {
        return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
    }

    function applyTheme(theme) {
        const body = document.body;
        if (theme === 'dark') {
            body.classList.add('is-dark');
        } else {
            body.classList.remove('is-dark');
        }
    }

    let savedTheme = getThemePreference();
    if (!savedTheme) {
        savedTheme = detectSystemTheme();
        saveThemePreference(savedTheme);
    }
    applyTheme(savedTheme);

    // Tema değiştirme butonunu kontrol et
    const themeToggleButton = document.getElementById('toggleColors');
    if (themeToggleButton) {
        themeToggleButton.addEventListener('click', function () {
            let currentTheme = getThemePreference();
            let newTheme = currentTheme === 'dark' ? 'light' : 'dark';
            applyTheme(newTheme);
            saveThemePreference(newTheme);
        });
    } else {
        console.error('Tema değiştirme butonu bulunamadı!');
    }
});
 
Temanın gece/gündüz temasını tetikleyen düğme ve js adresini footer.php'ye alarak çözdüm. Tabii js dosyasını şöyle düzelttirdik.
O zaman tahminimce gerekli olan bir JS fonksiyonu yüklenemediği için buton çalışmadı. Ayrıca bazı Javascript kodları, sayfanın sonunda yüklenmesi gerektiği gibi bazılarında durum tersidir.

Çözebilmenize sevindim. :) Javascript konusunda konsolu mutlaka kullanın. Çok faydasını gördüm.
 
Son düzenleme:
Çözüm