راکت
حل شده

مشکل جاوا اسکریپتی

8 پاسخ

@Raymond @saghari @salar.mohammad2013 @error.404 @ossvahid
سلام
مشکل کجاست؟ 😕

const toggleThemeBtns = document.querySelectorAll(".toggle-theme");

toggleThemeBtns.forEach( btn => {
    btn.addeEventListener("click", function(){
        if (localStorage.theme === "dark"){
            document.documentElement.classList.remove("dark");
            localStorage.theme = "light";
        } else {
            document.documentElement.classList.add("dark");
            localStorage.setItem("theme", "dark");
        }
    })
});
ثبت پرسش جدید

پاسخ‌ها

8
محمد حسین
محمد حسین
@saghari

تخصص: mevn stack

بهترین پاسخ

داداش دقت کن دیگه مشکل رو داره میگه
شما زدی addeEventListener ولی درستش اینه addEventListener یه e بعد add اضافه زدی

@ossvahid درسته این که زده هم با getItem میشه هم اینطوری

آرتین کریمی
آرتین کریمی
@error.404

تخصص: طراح وب و برنامه نویس

اروری که بر می خورین رو بدین؟ کد html js

آرتین کریمی
آرتین کریمی
@error.404

تخصص: طراح وب و برنامه نویس

شاید پاسخ شما همین‌جا باشد

محمد حسین
محمد حسین
@saghari

تخصص: mevn stack

اولا همیشه ارور رو هم بگو
دوما احتمالا مشکل از خط سه هست که این toggleThemeBtns که روش حلقه زدی آرایه نیست باید اول تبدیلش کنی به این دو صورت بعد روش حلقه بزنی

Array.from(toggleThemeBtns)
[...toggleThemeBtns]
مهدی
مهدی
@mehdi8686h

تخصص: توسعه دهنده فرانت اند

vahid
vahid
@vahid1379

تخصص: توسعه دهنده وردپرس

localStorage.theme

اشتباهه

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

درود خوبی...
کد زیر:

HTML:

<button id="themeSelector"></button>

CSS:

.dark {
    background-color: #1a1d24; 
    color: #efefef;
}

JavaScript:

window.addEventListener('load', () => {
    if (!localStorage.getItem('theme')) {
        localStorage.setItem('theme', 'light');
    }

    const themeSelector = document.querySelector('#themeSelector');
    if (localStorage.getItem('theme') === 'dark') {
        document.body.classList.add('dark');
        themeSelector.textContent = '☀️';
    } else {
        themeSelector.textContent = '🌙️';
    }

    themeSelector.addEventListener('click', () => {
        if (localStorage.getItem('theme') === 'light') {
            localStorage.setItem('theme', 'dark');
            themeSelector.textContent = '☀️';
        } else {
            localStorage.setItem('theme', 'light');
            themeSelector.textContent = '🌙️';
        }

        document.body.classList.toggle('dark');
    });
});
مهدی
مهدی
@mehdi8686h

تخصص: توسعه دهنده فرانت اند

@saghari
عه اره... 😅😅
ممنون 🌹

@Raymond @ossvahid
مرسی از پاسختون❤️

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام