۱ Saba mohamadnejad
کارایی که استاد تو js انجام دادن رو میشه توضیح بدین
سحر پاشائی حل شده توسط سحر پاشائی

میشه کدایی ک ستاد تو js زدن رو توضیح بدین من اصلا متوجه نشدم 
مخصوصا else برای چه کاری بود؟

سلام. وقت بخیر

 

این کد کاری می‌کنه که وقتی کاربر روی یک دکمه (مثل دکمه همبرگری برای باز و بسته کردن منو در موبایل) کلیک می‌کنه، منو باز و بسته بشه. این تابع با تغییر کلاس عنصر HTML، تعیین می‌کنه که آیا منو باید به حالت ریسپانسیو نمایش داده بشه یا نه.

تعریف تابع:

function myFunc() {

این خط، تابعی به نام myFunc رو تعریف می‌کنه. این تابع قراره وقتی فراخوانی بشه، عملیاتی رو انجام بده که درونش نوشته شده.

دریافت عنصر HTML:

var x = document.getElementById("myNav");

این خط یک متغیر به نام x تعریف می‌کنه و مقدارش رو برابر با عنصری در صفحه HTML قرار می‌ده که دارای id برابر با "myNav" هست. ساده‌تر بگم، این خط، عنصری از صفحه HTML رو که IDش myNav هست، پیدا می‌کنه و در متغیر x ذخیره می‌کنه.

شرط برای تغییر کلاس عنصر:

if (x.className === "nav") {
   x.className += " responsive";
} else {
   x.className = "nav";
}

این بخش از کد، بررسی می‌کنه که کلاس (className) عنصر x (همون عنصری که با ID myNav پیدا کردیم) چیه:

  • اگر کلاس این عنصر دقیقاً "nav" باشه، به کلاس موجود، کلاس "responsive" اضافه می‌شه. این یعنی حالا کلاس این عنصر می‌شه "nav responsive". این کار باعث می‌شه که CSS خاصی که برای حالت ریسپانسیو (برای نمایش بهتر در دستگاه‌های مختلف مثل موبایل) تعریف شده، فعال بشه.
  • اگر کلاس این عنصر "nav" نباشه، یعنی احتمالاً در حال حاضر کلاس "responsive" رو داره، پس کلاس اون دوباره به "nav" برگردونده می‌شه. این کار باعث می‌شه که حالت ریسپانسیو از کار بیفته.


درکل اگر خیلی بخش JS رو متوجه نشدید موردی نداره، می‌تونید کپی پیست کنید و تمرکزتون رو بذارید رو قسمت HTML CSS تا به آموزش جاوااسکریپت برسید.

بهترین پاسخ
سحر پاشائی ۰۶ شهریور ۱۴۰۳، ۱۱:۴۱