مهدی
1 سال پیش توسط مهدی مطرح شد
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");
        }
    })
});

ثبت پرسش جدید
محمد حسین
تخصص : mevn stack
@saghari 1 سال پیش مطرح شد
1

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

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


آرتین کریمی
تخصص : طراح وب و برنامه نویس
@error.404 1 سال پیش مطرح شد
1

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


آرتین کریمی
تخصص : طراح وب و برنامه نویس
@error.404 1 سال پیش مطرح شد
محمد حسین
تخصص : mevn stack
@saghari 1 سال پیش مطرح شد
1

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

Array.from(toggleThemeBtns)
[...toggleThemeBtns]

مهدی
تخصص : توسعه دهنده فرانت اند
@mehdi8686h 1 سال پیش آپدیت شد
vahid
تخصص : توسعه دهنده وردپرس
@vahid1379 1 سال پیش مطرح شد
0
localStorage.theme

اشتباهه


محمد حسین
تخصص : mevn stack
@saghari 1 سال پیش مطرح شد
1

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

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


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 1 سال پیش آپدیت شد
1

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

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 1 سال پیش مطرح شد
0

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

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


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

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