مهدی
9 ماه پیش توسط مهدی مطرح شد
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 9 ماه پیش مطرح شد
1

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

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


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

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


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

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

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

مهدی
تخصص : توسعه دهنده فرانت اند
@mehdi8686h 9 ماه پیش آپدیت شد
oss_vahid
تخصص : wp developer
@ossvahid 9 ماه پیش مطرح شد
0
localStorage.theme

اشتباهه


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

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

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


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 9 ماه پیش آپدیت شد
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 9 ماه پیش مطرح شد
0

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

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


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

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