article

دستور switch و case در جاوا اسکریپت (JavaScript)

javascript-switch-case

از جمله دستورات کنترلی که در اغلب زبان های برنامه نویسی تقریبا به شکل یکسانی وجود دارد دستور switch و case است، منظور از دستورات کنترلی آن دسته از دستوراتی هستند که قدرت تصمیم گیری را در چندراهی ها به پردازشگر برنامه می دهند، البته مشابه این بحث در مورد دستورات شرطی نیز عنوان شد اما با توجه به نیاز الگوریتم های پیچیده و از آنجایی که برنامه نویسان همواره به دنبال بهینه ترین راه حل ها هستند، ابداع کنندگان و توسعه دهندگان زبان های برنامه نویسی بر حسب تجربه و در گذر زمان به این نتیجه رسیدند که شکل دیگری از دستورات را تحت عنوان switch و case معرفی کنند، در واقع هر دستوری در زبان های برنامه نویسی با فلسفه رفع نوع خاصی از نیاز برنامه ها شکل گرفته است، اینکه در حین کدنویسی ممکن است یک الگوریتم یا تابع به چند شکل و با چند دستور مختلف خروجی یکسان دهد امری طبیعی است اما مهم است که بهینه ترین حالت و ایده آل ترین دستور را انتخاب کنیم، این اهمیت ممکن است به لحاظ سرعت پردازش برنامه، خواناتر شدن سورس کدها و توسعه ساده تر کد در مراجعات و بازبینی های بعدی باشد، به هر صورت با ذکر این مقدمه در ادامه آموزش می خواهیم با مبحث دیگری تحت عنوان دستور switch و case در زبان برنامه نویسی جاوا اسکریپت (JavaScript) آشنا شویم.

در مباحث پیشین از آموزش مقدماتی جاوا اسکریپت دیدیم که چگونه با عبارات if و else و ترکیب آنها یعنی elseif دستورات شرطی (Conditional Statements) تعریف و استفاده کنیم، همچنین با حلقه های for و while به کمک مثال هایی آشنا شدیم، اکنون می خواهیم ببینیم که دستور switch و case که جزء دسته دستورات کنترلی (Control Statements) است چه کاربردی در جاوا اسکریپت دارد و به چه منظوری در زبان های برنامه نویسی معرفی شده است.

کاربرد دستور switch و case در جاوا اسکریپت (JavaScript)


به صورت ساده از دستور سوئیچ (switch) برای انتخاب مورد (case) مد نظر از بین موارد موجود بر اساس درست (true) شدن و برقرار بودن مقایسه switch و case های آن استفاده می شود، به طور مثال در سایتی چندزبانه کاربر می تواند از بین زبان های موجود یک مورد را به عنوان زبان مد نظر خود انتخاب کند، در این حالت برای ایجاد قدرت تصمیم گیری در برنامه و اجرای ادامه دستورات مطابق با مقدار انتخابی کاربر، زبان انتخابی را در متغیر فرضی lang مقداردهی کرده و به عنوان switch در نظر می گیرم، زبان های قابل انتخاب را نیز به عنوان case ها فرض می کنیم، به این ترتیب می توانیم رابطه بین switch و case ها را به صورت نمونه زیر مورد به مورد مقایسه کنیم:
<script>
var lang = 'Fa';

switch(lang) {
    case 'Fa':
    document.write("زبان سایت فارسی است!");
    break;
    case 'En':
    document.write("Website language is English!");
    break;
    default:  
    document.write("Default language!");
}
</script>
خروجی نمونه کد بالا به صورت زیر خواهد بود:
زبان سایت فارسی است!
توضیح:
- در مثال بالا ابتدا در متغیر فرضی lang زبان فارسی (FA) را به عنوان مقدار پیش فرض تنظیم کرده ایم (در برنامه های کاربردی این مقدار می تواند از آدرس URL، فیلد input، کوکی یا ورودی های دیگری دریافت شود)، سپس در قسمت مربوط به دستور switch مقادیر متغیر lang را به عنوان کلید بررسی می کنیم که به این صورت دستور switch بین case های خود مورد به مورد جستجو نموده و در صورتی که مقادیری مشابه با مقدار متغیر lang پیدا شود آن case را انتخاب و عملیات تعریف شده اجرا می شود (در این مثال با دستور document.write مقادیر متنی در خروجی صفحه وب چاپ می شود)، اگر هیچ کدام از case ها با مقادیر متغیر lang همخوانی نداشته باشند قسمت مربوط به عملیات پیش فرض یا default اجرا خواهد شد، در نظر گرفتن قسمت default اختیاری است.
- دقت کنیم که پس از هر case یک break درج کرده ایم که مفهوم آن خاتمه اجرای دستور switch است، یعنی هر کجا نتیجه جستجوی دستور switch درست (true) باشد قسمت مربوط به break اجرا شده و فرآیند switch و case خاتمه می یابد.
- اگر break را از کد بالا حذف کنیم همه مقادیر case ها به خروجی ارسال می شوند، در واقع کد را باید در جایی متوقف می کردیم که این کار را انجام نداده ایم.
- در فرآیند اجرای دستور switch می توانیم ممکن است نیاز باشد به جای یک case دو یا چند مورد عملیاتی واحد را اجرا کنند، به فرض اگر بخواهیم جهت نمایش حروف سایت را مشخص کنیم قاعدتا برای زبان فارسی و عربی از راست به چپ و برای زبان های انگلیسی، فرانسه و... از چپ به راست خواهد بود، در اینگونه موارد از case های چندگانه متوالی استفاده می کنیم، مثال:
<script>
var lang = 'Fa';

switch(lang) {
    case 'Fa':
    case 'Ar':
    alert("RTL!");
    break;
    case 'En':
    case 'Fr':
    alert("LTR!");
    break;
}
</script>
خروجی نمونه کد بالا به صورت زیر خواهد بود:
RTL!
با توجه به این نمونه کد در صورتی که مقادیر متغیر lang یکی از موارد Fa یا Ar باشد قسمت اول دستور اجرا می شود، اما اگر مقادیر متغیر lang یکی از موارد En یا Fr باشد قسمت دوم دستور اجرا خواهد شد.
نکته: مفسر جاوا اسکریپت در هنگام مقایسه مقادیر متغیر switch با case ها از علامت === استفاده می کند، یعنی دو قسمت باید از هر نظر (نوع و مقدار) یکسان باشند تا نتیجه مقایسه true شود.

استفاده از دستور switch در حالت داینامیک


اصولا زبان های برنامه نویسی برای انجام هوشمندانه فرآیندها ساخته شده اند، به عبارتی معمولا ورودی و خروجی برنامه ها از قبل مشخص نیست و می توانند یک مقدار داینامیک و غیرثابت باشند، در مورد دستور switch هم این قاعده جاری است و امکان استفاده از مقادیری داینامیک و متغیر برای مقایسه case ها وجود دارد، به طور مثال می توانیم کدی بنویسیم که در صفحه وب با توجه به نام کاربری افراد یا زمان فعلی سیستم پیامی به آنها نشان داده شود یا در حالت های پیشرفته تر با دریافت اختلاف زمانی کشور کاربر و مقایسه آن با زمان سرور کارها را به وقت محلی تنظیم نمود و بسیاری ایده دیگر، در مثال زیر  با استفاده از توابع Date و getDay عدد متناظر با هر روز (از روزهای هفته) را دریافت و با توجه به مقدار آن یکی از موارد (case) ها را به خروجی ارسال کرده ایم که بر اساس روزهای هفته خروجی ما نیز متغیر خواهد بود، به این صورت می توانیم به صورت داینامیک و بدون در نظر گرفتن مقادیر اولیه از دستور switch و case در جاوا اسکریپت استفاده کنیم:
<script>
var date = new Date();
var today = date.getDay();
switch(today) {
    case 1:
    document.write("با توجه به تاریخ سیستم، امروز دوشنبه است!<br>");
    break;
    case 2:
    document.write("با توجه به تاریخ سیستم، امروز سه شنبه است!<br>");
    break;
    case 3:
    document.write("با توجه به تاریخ سیستم، امروز چهارشنبه است!<br>");
    break;
    case 4:
    document.write("با توجه به تاریخ سیستم، امروز پنجشنبه ست!<br>");
    break;
    case 5:
    document.write("با توجه به تاریخ سیستم، امروز جمعه است!<br>");
    break;
    case 6:
    document.write("با توجه به تاریخ سیستم، امروز شنبه است!<br>");
    break;
    case 7:
    document.write("با توجه به تاریخ سیستم، امروز یکشنبه است!<br>");
    break;            
    default:  
    document.write("بروز مشکل در نمایش تاریخ سیستم!<br>");
}
</script>
توضیح:
- کلاس date در حالت عادی از تاریخ میلادی سیستم کاربر پیروی می کند، لذا بر اساس اینکه یکشنبه روز تعطیل (روز هفتم) در تقویم میلادی است شروع شمارش روزهای هفته از دوشنبه (case 1) خواهد بود.
- اعدادی که به عنوان مقادیر به case ها داده شده اند در واقع حاصل و نتیجه برگردانده شده از متد date.getDay بوده که با توجه به تاریخ تنظیم شده سیستم بین مقادیر 1 تا 7 (هفت روز هفته) در نوسان خواهند بود.
- برای بررسی نحوه عملکرد دستورات جاوا اسکریپت کافی است نمونه کدها را کپی و در صفحه وب به کمک برنامه های ویرایشگر HTML مانند برنامه Adobe Dreamweaver، PhpStorm یا حتی ++Notepad درج و در نهایت با فرمت html یا htm ذخیره و فایل را با مرورگر اجرا کنیم.

استفاده از دستور switch بدون متغیر مقایسه


در مثال ها و نمونه کدهایی که تا این قسمت از آموزش بررسی کردیم دستور switch با یک متغیر همراه بود که برای مقایسه با case ها از آن استفاده کردیم، جالب است که دستور switch و case بدون وجود این متغیر مقایسه ای نیز قابل استفاده است، به طور مثال:
<script>
var number = 20;
switch(true) {
    case number < 20:
    alert('عدد از 20 کوچکتر است!');
    break;
    case number > 20:
    alert('عدد از 20 بزرگتر است!');
    break;
    case number == 20:
    alert('عدد با 20 برابر است!');
    break;
}
</script>
خروجی نمونه کد بالا به صورت زیر خواهد بود:
عدد با 20 برابر است!
همان طور که مشخص است به جای متغیر مقایسه از عبارت true استفاده و در هر case مقادیر متغیر فرضی number را بررسی کرده ایم.

کجا از if else و کی از switch case استفاده کنیم؟!


در زبان های برنامه نویسی دستور if else و switch case هر دو جزء خانواده دستورات کنترلی (Control Statements) هستند و برای تصمیم گیری در دو یا چندراهی های برنامه ها به کار می روند، این دو شکل از دستورات قابلیت جایگزینی به جای هم را دارند یعنی یک الگوریتم را هم می توانیم با if else و هم با switch case پیاده سازی کنیم، به طور مثال:
<script>
var a = 1;

if(a == 0) {
    alert(0);
} else if(a == 1) {
    alert(1);
} else if(a == 2) {
    alert(2);
}

switch(a) {
    case 0:
    alert(0);
    break;
    case 1:
    alert(1);
    break;
    case 2:
    alert(2);
    break;
}
</script>
خروجی هر دو دستور عدد 1 خواهد بود، با این شباهت سوالی که ممکن است به ذهن خطور کند این است که کجا باید از if else و کی از switch case استفاده کنیم؟!
در پاسخ باید گفت هر دستوری با فلسفه خاصی ایجاد و معرفی گردیده تا در بهینه ترین شکل ممکن نیاز برنامه نویسان را پوشش دهد، دستورات در برنامه نویسی شبیه ابزارها در دنیای واقعی هستند، پیچ چهارسو را با آچار دوسو می توانیم باز و بسته کنیم اما قاعدتا در این حالت آچار دوسو کاربرد و مزیت های آچار استاندارد چهارسو را نخواهد داشت! به عبارتی برای کار حرفه ای ابزار حرفه ای مورد نیاز است.
با این توضیح بهینه این است که از if else در شرایط زیر استفاده کنیم:
- حالت های شرطی محدود به یک یا چند مورد باشند (با یک یا چند دستور if else کدهای مورد نیاز برنامه نوشته شوند).
- کدهایی که با true شدن شرط اجرا می شوند بیش از چند خط باشند (بهتر است کدهای طولانی را بین بلاک های if else قرار دهیم).
- بررسی و مقایسه ی بیش از یک متغیر در شرط مورد نیاز باشد (گفتیم که در دستور switch صرفا یک متغیر به عنوان کلید مقایسه استفاده می شود).
- عملیاتی به غیر از عملگر === مورد نیاز باشد (اگرچه می توانیم دستور switch را به گونه ای بنویسیم که عملگرهای مقایسه ای به جزء عملگر پیش فرض === در آن استفاده شود، اما استفاده از if else در این شرایط ساده تر است و ارجحیت دارد).
استفاده از switch case نیز در شرایط زیر ارجحیت دارد:
- حالت های شرطی بیش از چند مورد باشند (شرایطی که ناچار باشیم if else های تو در توی چند لایه تعریف کنیم).
- بررسی و مقایسه صرفا به یک متغیر (به عنوان سوئیتچ) وابسته باشد.
- زمانی که با true شدن شرط چند مقایسه نتیجه واحد را اجرا کنند (گفتیم که می توانیم از چند case متوالی برای اجرای عملیات واحد در دستور switch استفاده کنیم).
نکته: در برنامه نویسی پروژه های کاربردی گاهی تصمیم گیری برای انتخاب شیوه بهینه به دلیل وجوه مشترک دستورات دشوار می شود، در این شرایط باید توجه داشته باشیم که کدام روش مزیت های بیشتری در اختیارمان قرار می دهد، هرچند رسیدن به این مهارت تا حدود زیادی نیازمند کسب تجربه کافی در دنیای برنامه نویسی وب است.

مثال و پیش نمایش آنلاین


مباحثی که در آموزش کاربرد دستور switch و case در جاوا اسکریپت (JavaScript) بررسی کردیم را با مثال زیر و پیش نمایش آنلاین آن به پایان می بریم.
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | استفاده از دستور switch در جاوا اسکریپت (JavaScript)</title>
<!-- Webgoo.ir -->
<style>
body {
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 12px;
    direction: rtl;
    line-height: 22px;    
}
.date {
    height: 20px;
    width: auto;
    background: #666;
    color: #FFFFFF;
}
</style>
</head>
<body>
<noscript>جاوا اسکریپت در مرورگر شما غیر فعال است یا پشتیبانی نمی شود!</noscript>
<div class="date">
<script>
var date = new Date();
var today = date.getDay();
switch(today) {
    case 1:
    document.write("با توجه به تاریخ سیستم، امروز دوشنبه است!<br>");
    break;
    case 2:
    document.write("با توجه به تاریخ سیستم، امروز سه شنبه است!<br>");
    break;
    case 3:
    document.write("با توجه به تاریخ سیستم، امروز چهارشنبه است!<br>");
    break;
    case 4:
    document.write("با توجه به تاریخ سیستم، امروز پنجشنبه ست!<br>");
    break;
    case 5:
    document.write("با توجه به تاریخ سیستم، امروز جمعه است!<br>");
    break;
    case 6:
    document.write("با توجه به تاریخ سیستم، امروز شنبه است!<br>");
    break;
    case 7:
    document.write("با توجه به تاریخ سیستم، امروز یکشنبه است!<br>");
    break;            
    default:  
    document.write("بروز مشکل در نمایش تاریخ سیستم!<br>");
}
</script>
</div>
- در این نمونه کد مقدار متغیر switch با یکی از case های آن مقایسه شده و در صورت برقرار بودن و true شدن رابطه، کد مربوط به آن مورد اجرا می شود.<br>
- متد getDay بر اساس تاریخ میلادی سیستم کاربر، روز متناظر از روزهای هفته را به صورت عدد 1 الی 7 برمی گرداند.<br>
<hr>
<script>
function checkLangDirection(id){
    var select_elm = document.getElementById(id);
    var option_value = select_elm.options[select_elm.selectedIndex].value;
    
    switch(option_value) {
        case 'Fa':
        case 'Ar':
        alert("RTL!");
        break;
        case 'En':
        case 'Fr':
        alert("LTR!");
        break;
    }
}
</script>
<label for="lang">انتخاب یک زبان:</label>
<select name="lang" id="lang">
<option value="Fa">Fa</option>
<option value="En">En</option>
<option value="Ar">Ar</option>
<option value="Fr">Fr</option>
</select>
<button onclick="checkLangDirection('lang')">بررسی جهت نوشتار</button>
<br>
- در این نمونه کد دستور switch و case های متوالی را در تابع فرضی checkLangDirection استفاده و به کمک رویداد onclick تابع را فراخوانی نموده ایم.<br>
- در خصوص توابع و رویدادها در آموزش های پیش رو به صورت مفصل صحبت خواهیم کرد.
</body>
</html>
پیش نمایش آنلاین
sectionدسته بندی: آموزش مقدماتی » JavaScript
related مطالب بیشتر:
» توابع (Functions) در جاوا اسکریپت (JavaScript)
» عملگرها (Operators) در جاوا اسکریپت (JavaScript)
» رویداد ها (Events) در جاوا اسکریپت (JavaScript)
» دستورات شرطی (Conditional Statements) در جاوا اسکریپت (JavaScript)
» تعریف و استفاده از متغیر (Variable) در جاوا اسکریپت (JavaScript)
commentنظرات (۶ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: صنوبر
زمان: ۱۹:۰۰:۴۱ - تاریخ: ۱۳۹۲/۰۸/۱۶
بعضی مواقع در switch عدد 1 برابر true و 0 برابر false میشود
نویسنده: مهران
زمان: ۰۸:۲۶:۳۶ - تاریخ: ۱۳۹۲/۱۱/۰۸
خسته نباشید و بسیار عالی
میخواستم بدون اون new بکار رفته قبل از تابع تاریخ به چه دلیل هست در اینجا
var date = new Date()
و اینکه چرا برای به دست آوردن روز تابع date را با استفاده از یک نقطه به تابع getDay متصل کردید. ارگومانی برای محدود سازی بر این تابع تاریخ وجود ندارد یا کلا باید توابع در جاوا اسکریپت برای همچین کاری با هم ترکیب بشن و اینکه برای ترکیب دو تابع با هم از نقطه استفاده میشه همیشه ؟
var today = date.getDay()
پاسخ: 
عبارت new در دستورات جاوا اسکریپت برای ایجاد یک نمونه از کلاس به کار می رود (یعنی متغیر date منبع یک نمونه از کلاس Date است)، عبارت نقطه هم برای فراخوانی متدی از کلاس کاربرد دارد، به فرض وقتی date یک نمونه از کلاس Date است، می تواند متدهای آن کلاس از جمله getDay را فراخوانی کند که نتیجه ی این متد مقدار عددی روزی از روزهای هفته (بین 0 تا 6) است.
نکته: اصطلاح کلاس و متد در برنامه نویسی شی گرا (Object-oriented) به کار می روند.
نویسنده: علی رضا
زمان: ۱۱:۵۵:۵۷ - تاریخ: ۱۳۹۴/۰۱/۲۸
سلام
ممنون از توضیحات خوبتون
می شود برنامه ی سوئیچ را در جاوا اپلیکیشن هم استفاده کرد ؟
پاسخ: 
سوالتان مبهم است! جاوا اسکریپت با جاوا فرق می کند!
نویسنده: qaasem
زمان: ۱۱:۵۷:۰۴ - تاریخ: ۱۳۹۴/۰۳/۲۵
دمتگرم داداش
نویسنده: kia
زمان: ۰۴:۴۱:۰۹ - تاریخ: ۱۳۹۴/۰۴/۱۰
ممنون از وب خوبتون
نویسنده: mehran20
زمان: ۲۰:۴۰:۴۵ - تاریخ: ۱۳۹۷/۰۸/۲۲
سلام. ببخشید من یک تگ p دارم میخوام شرط گذاری که مثلا متنش: اطلاعات با موفقیت ثبت شد، بود رنگ همین متن آبی و یک تگی بعدش ظاهر بشه و متنی دیگر بود رنگ دیگری بشه این چطوریه؟
پاسخ: 
ساختار دقیق کدها و برنامه شما مشخص نیست، با توجه به توضیحات در حالت کلی با نمونه متدهای زیر این کار شدنی است:
<p id="p-1">اطلاعات با موفقیت ثبت شد</p>
<p id="p-2">متن بعدی</p>

<script type="text/javascript">
function checkColorPTag(id){
var elm = document.getElementById(id);

switch(elm.innerText){
case 'اطلاعات با موفقیت ثبت شد':
elm.style.color = '#0084FF';
break;
case 'متن بعدی':
elm.style.color = '#FF0004';
break;
}
}

checkColorPTag('p-1');
checkColorPTag('p-2');
</script>
نکته: اسکریپت باید بعد از تگ ها در صفحه درج شود یا اینکه تابع با رویداد window.onload فراخوانی گردد.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ خاصی داده نخواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لذا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.




8 × 7
 refresh
نکته:
با توجه به تاریخ نگارش آموزش های سایت و پیشرفت تکنولوژی های مرتبط با وب در سالیان اخیر، محتوای برخی از مطالب قدیمی ممکن است نیاز به ویرایش و به روزرسانی داشته باشد که این کار هم زمان با تهیه نسخه جدید «وبگو» به مرور در حال انجام است، لطفا در استفاده از مطالب سایت به این نکته دقت داشته و حتی المقدور از چند منبع مختلف استفاده نمائید.
آخرین دیدگاه ها
form زهرا
در:
سلام وقت بخیر من برای وبلاگم کد ماوس رو کپی میکنم طبق دستورهایی که هست ولی شکل ماوس من در وبلاگ تغییر نمیکند ممنون میشم...
۲۰:۰۰:۲۵ ۱۳۹۸/۰۶/۲۳

form نانا
در:
سلام! ممنون از سایت خوبتون.. راستش من توی اتوپلی کردن موزیک مشکل داشتم.. این بخش موزیکمه:
حذف شد
فکر کنم یه ذره قاطی شد.....
۱۶:۵۰:۱۰ ۱۳۹۸/۰۶/۲۱

form Fatemeh
در:
سلام لطفا یکی جواب منو بده میخام ۴۰ تا ایمیل بسازم و با ۴۰ ایمیل عضو یه سایت بشم ولی ارور میده و میگه شما...
۱۵:۵۷:۰۱ ۱۳۹۸/۰۶/۱۶

form احمدی
در:
سلام ببخشید مثال اول که نوشتید بر اساس مسیر فایلی که من دارم به چه شکل میشه؟
http://localhost/up/one_info/personal /one_info_personal_1425.png
در...
۱۴:۵۲:۳۴ ۱۳۹۸/۰۶/۱۰

form sareh
در:
سلام در مورد فرم ها سوال داشتم . اگر من دو فرم مستقل از هم داشته باشم چه طوری میتونم این فرم ها...
۱۴:۰۷:۴۰ ۱۳۹۸/۰۶/۱۰

form مهسا
در:
سلام وقت بخیر من یک فرم طراحی کردم input ها به صورت دو ستونه گذاشتم. میخواستم با زدن تب از input اولی در...
۱۳:۰۱:۴۶ ۱۳۹۸/۰۶/۰۲

form behzad
در:
مرسی خوب بود
۱۲:۱۵:۱۴ ۱۳۹۸/۰۶/۰۲

form zeynab
در:
سلام یه سوال دارم برای اینکه بتونم رنگ رو ذخیره کنم تو جدولم در قسمت پایگاه داده چیکار باید کنم ؟؟ من...
۱۷:۰۶:۳۵ ۱۳۹۸/۰۵/۲۸

form علی
در:
سلام من میخوام تو صفحه html همچین طرحی رو بندازم میشه راهنماییم کنید (به صورت جداگانه یعنی هر کدوم توی یه صفحه) ***** ...
۱۶:۴۶:۳۶ ۱۳۹۸/۰۵/۲۷

form Zeynab
در:
سلام . وقت بخیر . من از کدهای htaccess برای سایت استفاده کردم . روی لوکال هاست مشکلی ندارم اجرا میشن . ...
۲۲:۴۲:۵۴ ۱۳۹۸/۰۵/۲۳

form bahman
در:
عالی
۲۲:۱۵:۵۰ ۱۳۹۸/۰۵/۲۳

form Abbas rahmati
در:
سلام همه چی توی قسمت اینکه اس اس ال چطور کار میکنه درست بود فقط اخرشو درست نگفتید
۱۴:۱۶:۴۰ ۱۳۹۸/۰۵/۲۳

form مهدی فراهانی
در:
در آکولاد if، می خواهم پس از صحت پرداخت کاربر، کاربر به یک صفحه html برای دانلود فایل لینک شود. چه دستوری در حلقه if...
۱۲:۰۸:۳۲ ۱۳۹۸/۰۵/۲۳

form احسایدر
در:
شما از چه روشی برای لینک دادن به قسمت‌های نوشته استفاده کردید که با کلیک کردن چیزی به آدرس نوشته اضافه نمیشه؟
۱۸:۵۷:۰۵ ۱۳۹۸/۰۵/۲۲

form Mahyar
در:
سلام خسته نباشید اگه بخواهیم که یک pop up با کلیک به خارج از کادر pop up یا کلیک به روی دکمه esc...
۱۱:۴۸:۵۶ ۱۳۹۸/۰۵/۱۹