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

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

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


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

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


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

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

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

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

اشتباهه


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

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

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


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

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

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


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

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