article

ساخت پنل چند سربرگی (Tabbed Panel) با جاوا اسکریپت و CSS

javascript-tabbed-panel

استفاده از پنل چند سربرگی یا Tabbed Panel از جمله روش های متداول در طراحی وب با متدهای حرفه ای محسوب می شود که امروزه در اغلب برنامه های کاربردی تحت وب می توان نمونه ای از آن را مشاهده کرد، به طور خلاصه پنل های چند سربرگی، بلاک هایی هستند که با وجود مستقل و چندگانه بودن، به نحوی با رابطه ای تعاملی در کنار هم قرار می گیرند که از نظر کاربر، مجموعه ای مشترک دیده می شوند، طراحان وب معمولا از ترکیب قابلیت های جاوا اسکریپت و CSS این نوع پنل ها را خلق و در مواردی مانند سایت های خبری، سایت های دانلود، پنل مدیریت سیستم های مدیریت محتوا، نمایش آمار و نمودارها و... از آنها استفاده می کنند.

فواید استفاده از پنل چند سربرگی


استفاده از این نوع پنل ها به صرفه جویی در میزان فضای اشغال شده از صفحه، زیبایی و همچنین انسجام بخشی بیشتر به رابط کاربری (User Interface) سایت کمک می کند، در نتیجه کاربر نهایی تجربه بهتری از پایش در برنامه تحت وب شما خواهد داشت.

معایب استفاده از پنل چند سربرگی


اگرچه استفاده از پنل های چند سربرگی در بیشتر موارد ضروری و مفید است، اما به دلیل متکی بودن این قابلیت به فعال بودن جاوا اسکریپت در مرورگر کاربران، ممکن است در برخی شرایط قابل استفاده نباشد که البته این مورد برای بیشتر برنامه های تحت وبی که متکی بر دستورات اسکریپتی هستند نیز صادق است.

نحوه ایجاد پنل چند سربرگی


همان طور که اشاره شد، برای ایجاد پنل چند سربرگی یا Tabbed Panel باید به صورت ترکیبی از جاوا اسکریپت و CSS استفاده کنیم، در اینجا نیز CSS نقش شکل دهنده و جاوا اسکریپت جهت ایجاد رفتار تعاملی به کار می رود، برای شروع کد HTML پنل را به صورت زیر می نویسیم.
<div class="tabbed-container">
<div class="tabbed-menu">
<div class="tabbed-button" id="tabbed-button-1">تیتر دکمه 1</div>
<div class="tabbed-button" id="tabbed-button-2">تیتر دکمه 2</div>
<div class="tabbed-button" id="tabbed-button-3">تیتر دکمه 3</div>
<div class="tabbed-button" id="tabbed-button-4">تیتر دکمه 4</div>
</div>
<div class="tabbed-wrapper">
<div id="tabbed-box-1">محتوای باکس 1</div>
<div id="tabbed-box-2">محتوای باکس 2</div>
<div id="tabbed-box-3">محتوای باکس 3</div>
<div id="tabbed-box-4">محتوای باکس 4</div>
</div>
</div>
همان طور که ملاحظه می کنید کد بالا از سه بلاک اصلی (tabbed-container، tabbed-menu و tabbed-wrapper) تشکیل شده، بلاک div با کلاس tabbed-container در واقع نقش نگهدارنده یا container سایر عناصر را داشته و در بالاترین سطح قرار می گیرد، tabbed-menu بلاکی است که دکمه مربوط به هر پنل در آن به نمایش در خواهد آمد و tabbed-wrapper بلاکی برای قرار گرفتن باکس محتوا است.
نکته کلیدی که در این کد به چشم می خورد نحوه تنظیم id در قسمت tabbed-button و tabbed-box است که در انتهای آنها یک شماره متناظر درج شده، از این شماره در هنگامی که قصد ایجاد رفتار تعاملی با جاوا اسکریپت را داریم استفاده خواهیم کرد؛ اکنون تکه کد جاوا اسکریپتی زیر را نیز به صفحه خود اضافه می کنیم.
<script type="text/javascript">
function closeBox(num){
    //بستن تمام باکس ها در اولین بارگذاری
    for(var i = 1; i <= num; i++){
        document.getElementById("tabbed-box-" + i).style.display = "none";    
    }
}
function openSelected(button, box){
    //باز کردن باکس انتخاب شده در اولین بارگذاری
    document.getElementById(button).className = ("tabbed-button-open");
    document.getElementById(box).style.display = "block";        
}
function openBox(button, box, num){
    var tabbed_div = document.getElementById(box).style.display;
    
    //بستن تمام باکس ها و باز کردن باکس انتخاب شده
    if(tabbed_div != "block"){
        for(var i = 1; i <= num; i++){
            document.getElementById("tabbed-box-" + i).style.display = "none";
            document.getElementById("tabbed-button-" + i).className = ("tabbed-button");
        }        
        document.getElementById(button).className = ("tabbed-button-open");
        document.getElementById(box).style.display = "block";        
    }        
}
</script>
این کد از سه تابع تشکیل شده، تابع closeBox تمام باکس های پنل را به حالت بسته (display:none) تغییر می دهد، این تابع در بارگذاری اولیه صفحه (یعنی زمانی که صفحه فراخوانی می شود) به کار می رود، تابع openSelected با دریافت id مربوط به دکمه و باکس انتخاب شده، آن را به حالت کلاس tabbed-button-open و block تبدیل می کند (دکمه انتخاب شده و باکس مربوط به آن نمایش داده می شود)، این تابع نیز در بارگذاری اولیه صفحه به کار می رود، تابع openBox نیز در واقع کار دو تابع closeBox و openSelected را به صورت داینامیک انجام می دهد، در نتیجه با انتخاب هر سربرگ، دکمه به حالت انتخاب شده و باکس نمایش داده می شود.
پس از درج کد بالا در قسمت head صفحه، قسمت HTML را نیز در قسمت زیر به صورتی که مشاهده می کنید ویرایش کنید.
<div class="tabbed-button" id="tabbed-button-1" onclick="openBox(this.id, 'tabbed-box-1', 4);">تیتر دکمه 1</div>
<div class="tabbed-button" id="tabbed-button-2" onclick="openBox(this.id, 'tabbed-box-2', 4);">تیتر دکمه 2</div>
<div class="tabbed-button" id="tabbed-button-3" onclick="openBox(this.id, 'tabbed-box-3', 4);">تیتر دکمه 3</div>
<div class="tabbed-button" id="tabbed-button-4" onclick="openBox(this.id, 'tabbed-box-4', 4);">تیتر دکمه 4</div>
این کار برای اختصاص دادن رویداد onclick به دکمه های پنل است (به شماره های متناظر توجه داشته باشید).
سپس در انتهای کدهای HTML مربوط به پنل، تکه کد جاوا اسکریپت زیر را نیز اضافه کنید.
<script type="text/javascript">
//بستن تمام باکس ها در اولین بارگذاری
closeBox(4);
//باز کردن باکس انتخاب شده در اولین بارگذاری
openSelected("tabbed-button-1", "tabbed-box-1");
</script>
در آخرین مرحله باید استایل CSS مربوط به پنل چند سربرگی را به صفحه خود اضافه کنیم، بنابراین استایل زیر را نیز ترجیحا در قسمت head صفحه درج می کنیم.
<style type="text/css">
.tabbed-container{
    position:relative;
    margin-top:12px;
    border:1px solid #FFF;
}
.tabbed-menu{
    margin-top:0px;
    margin-bottom:0px;
    line-height:14px;
    position:absolute;
}
.tabbed-wrapper{
    border:1px solid #E5E5E5;
    margin-top:25px;
    margin-bottom:12px;
    padding:12px;
}
.tabbed-button{
    display:inline-block;
    height:16px;
    width:auto;
    padding:4px;
    margin:0px;
    background:#F9F9F9;
    border-radius:5px 5px 0px 0px;
    -webkit-border-radius:5px 5px 0px 0px;
    border:1px #E5E5E5 solid;
    border-bottom:1px #E5E5E5 solid;    
    cursor:pointer;
    color:#999;
}
.tabbed-button:hover{
    background:#F5F5F5;    
    color:#999;        
}
.tabbed-button-open{
    display:inline-block;
    height:16px;
    width:auto;
    padding:4px;
    margin:0px;
    background:#FFF;
    border-radius:5px 5px 0px 0px;
    -webkit-border-radius:5px 5px 0px 0px;
    border:1px #E5E5E5 solid;
    border-bottom:1px #FFF solid;    
    color:#000;    
}
</style>
نکته کلیدی در این نوع موارد نحوه استفاده از خاصیت position با دو مقدار relative و absolute است، همان طور که ملاحظه می کنید، بلاک والد به صورت relative و بلاک فرزند به صورت absolute مقداردهی شده، این کار باعث می شود تا مرورگر خواص بلاک سطح پائین تر را به صورت تابعی از بلاک اصلی پردازش کند.

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


در زیر مثال و پیش نمایش آنلاین پنل چند سربرگی کامل شده را ملاحظه می کنید.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>وبگو | ایجاد پنل چند سربرگی در وب</title>
<!-- https://webgoo.ir -->
<style type="text/css">
body{
    font-family:Tahoma, Geneva, sans-serif;
    font-size:12px;
    direction:rtl;
}
.tabbed-container{
    position:relative;
    margin-top:12px;
    border:1px solid #FFF;
}
.tabbed-menu{
    margin-top:0px;
    margin-bottom:0px;
    line-height:14px;
    position:absolute;
}
.tabbed-wrapper{
    border:1px solid #E5E5E5;
    margin-top:25px;
    margin-bottom:12px;
    padding:12px;
}
.tabbed-button{
    display:inline-block;
    height:16px;
    width:auto;
    padding:4px;
    margin:0px;
    background:#F9F9F9;
    border-radius:5px 5px 0px 0px;
    -webkit-border-radius:5px 5px 0px 0px;
    border:1px #E5E5E5 solid;
    border-bottom:1px #E5E5E5 solid;    
    cursor:pointer;
    color:#999;
}
.tabbed-button:hover{
    background:#F5F5F5;    
    color:#999;        
}
.tabbed-button-open{
    display:inline-block;
    height:16px;
    width:auto;
    padding:4px;
    margin:0px;
    background:#FFF;
    border-radius:5px 5px 0px 0px;
    -webkit-border-radius:5px 5px 0px 0px;
    border:1px #E5E5E5 solid;
    border-bottom:1px #FFF solid;    
    color:#000;    
}
</style>
<script type="text/javascript">
function closeBox(num){
    //بستن تمام باکس ها در اولین بارگذاری
    for(var i = 1; i <= num; i++){
        document.getElementById("tabbed-box-" + i).style.display = "none";    
    }
}
function openSelected(button, box){
    //باز کردن باکس انتخاب شده در اولین بارگذاری
    document.getElementById(button).className = ("tabbed-button-open");
    document.getElementById(box).style.display = "block";        
}
function openBox(button, box, num){
    var tabbed_div = document.getElementById(box).style.display;
    
    //بستن تمام باکس ها و باز کردن باکس انتخاب شده
    if(tabbed_div != "block"){
        for(var i = 1; i <= num; i++){
            document.getElementById("tabbed-box-" + i).style.display = "none";
            document.getElementById("tabbed-button-" + i).className = ("tabbed-button");
        }        
        document.getElementById(button).className = ("tabbed-button-open");
        document.getElementById(box).style.display = "block";        
    }        
}
</script>
</head>
<body>
<noscript>جاوا اسکریپت در مرورگر شما غیر فعال است یا پشتیبانی نمی شود!</noscript>
<div class="tabbed-container">
<div class="tabbed-menu">
<div class="tabbed-button" id="tabbed-button-1" onclick="openBox(this.id, 'tabbed-box-1', 4);">تیتر دکمه 1</div>
<div class="tabbed-button" id="tabbed-button-2" onclick="openBox(this.id, 'tabbed-box-2', 4);">تیتر دکمه 2</div>
<div class="tabbed-button" id="tabbed-button-3" onclick="openBox(this.id, 'tabbed-box-3', 4);">تیتر دکمه 3</div>
<div class="tabbed-button" id="tabbed-button-4" onclick="openBox(this.id, 'tabbed-box-4', 4);">تیتر دکمه 4</div>
</div>
<div class="tabbed-wrapper">
<div id="tabbed-box-1">محتوای باکس 1</div>
<div id="tabbed-box-2">محتوای باکس 2</div>
<div id="tabbed-box-3">محتوای باکس 3</div>
<div id="tabbed-box-4">محتوای باکس 4</div>
</div>
</div>
<script type="text/javascript">
//بستن تمام باکس ها در اولین بارگذاری
closeBox(4);
//باز کردن باکس انتخاب شده در اولین بارگذاری
openSelected("tabbed-button-1", "tabbed-box-1");
</script>
<hr>
با اندکی آشنایی با CSS و JavaScript می توانید پنل را به صورت سفارشی ویرایش کنید.
</body>
</html>
پیش نمایش
sectionدسته بندی: آموزش کاربردی » JavaScript
related مطالب بیشتر:
» استفاده ترکیبی از جاوا اسکریپت (JavaScript) و PHP
» اعتبار سنجی فرم های وب با جاوا اسکریپت
» ساخت افکت رنگی با جاوا اسکریپت (JavaScript)
» ایجاد پنل جمع شونده با جاوا اسکریپت و فریم ورک Spry
» کنترل و تغییر اندازه فونت صفحه با جاوا اسکریپت
commentنظرات (۳۴ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: طراح جوان
۱۶:۱۶ ۱۳۹۲/۱۰/۲۸
فوق العاده کاربردی ؛ مچکرم.
ممنون میشم اگه به سوالاتی که از فرم تماس ازتون میپرسیم جواب بدید.
با تشکر
پاسخ: 
در صورتی که سوالات موارد زیر را شامل نشود حتما به آنها پاسخ داده می شود:
- سوالات کلی و مشکلاتی که رفع آنها نیاز به صرف زمان خیلی زیادی است.
- مشکلاتی که برای رفع آن هیچ تلاشی نکرده باشید.
- سوالات حاوی کدها و اسکریپت های حجیم و خیلی طولانی.
- درخواست کد و اسکریپت آماده.
- درج ایمیل اشتباه.
نویسنده: حسین
۱۸:۲۳ ۱۳۹۲/۱۱/۰۳
با سلام
من یه سوال داشتم در مورد این که چه طور صفحه اصلی سایت مان فقط در مرورگر های خاصی باز شود. مثلا در همه ی مرورگر ها به جز اینترنت اکسپلورر مشاهده شود.
از سایت خوبتون ممنونم خواهش می کنم جوابم رو بدید!!!
پاسخ: 
سلام
برای این کار باید از PHP استفاده کنید، مثال:
<?php
if(preg_match('/MSIE/i', $_SERVER['HTTP_USER_AGENT'])){
header("Location: http://webgoo.ir");
exit;
}
?>
نویسنده: RapiD
۲۰:۵۴ ۱۳۹۲/۱۱/۰۳
عالی بود ممنون
یک آموزش هم برای انواع هاور کردن در CSS آموزش بدید مثلا یکی از آموزش هایی که در وب فارسی خیلی خیلی کمه هاور کردن از پایین به بالا مثلا یک عکس هستش که به این صورت که موقع هاور شدن عکس به بالا بره و عکس زیریش مشاهده بشه .. نمیدونم متوجه شدید منظورم رو یا نه ... ممنون
پاسخ: 
آموزش مد نظر شما مبحث زیادی ندارد که در یک مطلب جداگانه مطرح شود، کافی است یک بلاک با عرض و ارتفاع مشخص تعریف (به فرض div با عرض و ارتفاع 24 پیکسل) و برای پس زمینه آن یک عکس با ارتفاع دو برابر ارتفاع بلاک داشته باشید (یعنی عکسی با ابعاد 24 در 48 پیکسل) که تصویر حالت عادی (24 پیکسل) در بالا و تصویر حالت فعال در پائین باشد، سپس در استایل CSS مربوط به بلاک، در حالت عادی پس زمینه را به صورت نمونه زیر داشته باشید:
background:url(image/bg.png) top no-repeat;
و در حالت فعال پس زمینه را به صورت زیر تغییر دهید:
background:url(image/bg.png) bottom no-repeat;
نویسنده: حمید
۰۱:۵۸ ۱۳۹۲/۱۱/۰۵
واقعا بحث خیلی کاربردی را مطرح کردید من خیلی خوش حال شدم.
ممنون.
نویسنده: رویا
۱۸:۴۸ ۱۳۹۲/۱۱/۰۵
من با واژه های پنل - افکت - باکس آشنایی ندارم میشه بیشتر توضیح بدهید ممنون میشم
پاسخ: 
لطفا در فرهنگ لغات انگلیسی - فارسی جستجو کنید!
نویسنده: الهام
۲۰:۲۵ ۱۳۹۲/۱۱/۱۳
سلام
من چهار تا فرم طراحی کرده بودم که می خواستم به شکل چند برگی در بیاد. به جای کلمه محتوای باکس ها کد های فرم هام را با head ,body مختص به خودش قرار دادم. هر فرمم دارای اعتبارسنجی مختص به خودش است. حالا فقط در پیش نمایشم فرم اول را نمایش میده با اعتبار سنجی های مربوط به صفحه آخرم. بقیه ی سربرگها هم هیچگونه نمایشی وجود نداره. چی کار کنم؟؟؟؟
پاسخ: 
سلام
نباید در یک صفحه HTML از چند تگ body و head استفاده کنید، هر چند به ظاهر سربرگ ها متفاوت هستند، اما این حالت فقط نمایشی است و در سورس صفحه مانند یک صفحه معمولی کدهای HTML تعریف می شوند، فرم ها نیز نباید چند گانه باشند (اگر باشند باید هر کدام یک دکمه ارسال داشته باشند که در این صورت چند سربرگی بودن خیلی ضرورتی ندارد و منطقی نیست).
نویسنده: مهسا
۱۸:۳۲ ۱۳۹۲/۱۱/۱۵
در مورد Captcha هم یه اموزش بذارید. واسه اشنایی بیشتر و افکت هایی که میشه به اعداد و حروف یا پس زمینه و این چیزا بهش داد
پاسخ: 
در کوتاه مدت امکانپذیر نیست، در صورت امکان در مطالب آینده منتشر خواهد شد.
نویسنده: وحید
۲۰:۴۱ ۱۳۹۲/۱۱/۱۶
سلام خسته نباشید
حتما دیدین بعضی از سایت ها یه قسمت دارن که دقایق حضور اون کاربر رو نشون میده
مثلا یه ساعت تو سایت انلاین باشی می نویسه :
دقایق فعال : 60 دقیقه
حتما تو پایگاه داده برای هر کاربر به صورت جدا محاسبه و ذخیره میشه.
میشه راهنمایی و یه مثال بزنید اگه امکانش هست
ممنون
پاسخ: 
سلام
برای این کار باید چند مبحث مختلف را فرا بگیرید:
- بحث سشن ها و کوکی در PHP.
- بحث تاریخ و زمان در PHP.
- بحث تاریخ و زمان در جاوا اسکریپت (در صورتی که نیاز به نمایش به صورت زنده و... باشد).
مثال ساده ای برای این کار وجود ندارد، باید یک سیستم طراحی کنید که بسته به هدف شما کار ذخیره و به روزرسانی تاریخ در دیتابیس و همچنین نمایش به کاربر را انجام دهد.
نویسنده: شریف
۰۹:۵۷ ۱۳۹۲/۱۲/۰۸
با تشکر فراوان از سایت خوبتون
پیرو سوال دوستمون RapiD این رو نوشتم ولی کار نکرد
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ساخت منوی اینتراکتیو</title>
</head>

<body>
<head>
<style type="text/css">
<!--
#b a{
display:block;
width:100px;
height:75px;
background:url(images/sub_1.jpg) top no-repeat;
}
#b a:hover, #b a:focus{
background:url(images/sub_1.jpg) bottom no-repeat;
}
-->
</style>
</head>
<body>
<div id="b">
<a href="#">text</a>
</div>
</body>
</html>
پاسخ: 
کد شما اصلاح شد!
نویسنده: علی
۱۳:۲۹ ۱۳۹۲/۱۲/۰۸
سلام سایتتون واقعا آموزش های مفیدی میزاره و خیلی چیزا از شما یاد گرفتم !
با تشکر - موفق باشید
www.best-web.ir
نویسنده: میثم
۱۷:۴۶ ۱۳۹۲/۱۲/۱۵
مرسی مثل همیشه عالی بود
نویسنده: mavg
۱۹:۴۵ ۱۳۹۲/۱۲/۱۵
ممنون از آموزشهای جالب شما در مثال عنوان شده اگر بخواهیم بجای محتوای باکس یکسری از مطالب شامل پاراگراف و عکس و غیره نمایش داه شود چکار باید کنیم؟ و اصولا می توامن در یک فایل HTML فایل دیگری را صدا زده تا محتویات آن اجرا گردد اگر نه روش اصولی چیست؟
پاسخ: 
اگر با HTML آشنا باشید، می دانید که درون تگ های div می توانید هر نوع محتوای مد نظرتان را درج کنید، این محتوا هم می تواند شامل تگ ها (به طور مثال تصویر) باشد هم شامل متن ساده، در اینجا هم کافی است به جای عبارت های پیش فرض محتوای مد نظرتان را قرار دهید، در مورد بخش دوم سوال، در HTML امکان ورود اطلاعات فایل دیگر در صفحه وجود ندارد، البته با Ajax این کار ممکن است که آموزش های خاص خود را دارد.
نویسنده: علی
۱۳:۴۶ ۱۳۹۲/۱۲/۱۹
سلام ، بسیار عالی بود موفق باشید
نویسنده: mavg
۱۰:۵۵ ۱۳۹۳/۰۱/۰۴
در وب سایت خود از روش پنل چند سربرگی شما استفاده نموده ام لیکن وقتی تحت وردپرس بالا می آید همه مطالب گنجانده شده در هر سربرگی به طور یکجا نمایش داده شده و مطالب با هم ادغام می شود
پاسخ: 
باید ببینید آیا سورس های لازم برای اجرای پنل به درستی در صفحه وارد شده اند، به خصوص قسمت مربوط به کدهای جاوا اسکریپت، در هر صورت حل مشکل نیازمند بررسی بیشتر است.
نویسنده: mavg
۱۶:۵۲ ۱۳۹۳/۰۱/۱۴
از روش پنل چند برگی استفاده نموده ام لیکن در هنگام مشاهده سایت محتویات برگه ها روی هم نمایش داده می شود. راه حل چیست؟
پاسخ: 
لطفا مثال و پیش نمایش آنلاین را با کدهای درج شده در سایتتان مقایسه کنید! طبق بررسی ما بخش اصلی کدها را درج نکرده اید!
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- موارد غیرمرتبط با مباحث آموزش ها را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ مختصر داده خواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- از درج عناوین تبلیغاتی در فیلدها خودداری کنید، در صورتی که یادداشت تبلیغاتی تشخیص داده شود حذف خواهد شد.
- تمام یادداشت ها بررسی و زمانی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد خودداری کنید.





3 × 3
 refresh

آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form بنیامین
در:
درود. وقت بخیر. من یک سوالی از خدمتتون داشتم؟ من می خوام وقتی کاربر بنویسه بدون اینکه URL تغییر کنه. و اینکه چطوری بعد...
۱۳۹۹/۱۱/۰۷

form مهدی
در:
خیلی ممنون آموزش خیلی خوبی بود
۱۳۹۹/۱۱/۰۷

form علی
در:
سلام تشکر میکنم از شما و سایت فوق العاده عالی تون مشکلم حل شد تشکر میکنم موفق باشید
۱۳۹۹/۱۱/۰۵

form rofa
در:
سلام خسته نباشید خیلی ممنونم از مطالب خوبتون.. ببخشید علامتی که در سمت راست همین سایت هستش چجوری تغییر جهت میده با اسکرول کردن...
۱۳۹۹/۱۱/۰۵

form علی
در:
با سلام تشکر از سایت خوبتون و اموزشای خوبی که قرار میدین یک سوال داشتم من میخوام از یک فایل رشته ای همانند :...
۱۳۹۹/۱۱/۰۵

form علی
در:
با سلام سایت هایی من میخوام اطلاعاتی از سایتی بگیرم اما این سایت پس از چند ثانیه این اطلاعات رو به من نشون میده و...
۱۳۹۹/۱۱/۰۴

form شیدا
در:
سلام برای اینکه بتونم جدول ضرب 1 در 5 رو بنویسم چه کدهایی باید بنویسم؟
۱۳۹۹/۱۱/۰۳

form امیرحسین
در:
چرا استاد خیلی فرق داره الان کد زیر را شما در نظر بگیرید بین 0 تا 1 ثانیه طول میکشه اجرا شدنش خب شما...
۱۳۹۹/۱۱/۰۲

form امیرحسین
در:
سلام استاد حالتون چطوره، من یه سوال داشتم: تو پروژه های بزرگ که یک ارایه معمولا 20 عنصری یا نهایت 100 عنصری داشته باشیم...
۱۳۹۹/۱۱/۰۲

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

form متین
در:
سلام و خسته نباشید من بخوام داده ای که از قبل موجوده رو با متد پست به یک فایل ارسال کنم چجور میشه؟ یعنی...
۱۳۹۹/۱۰/۲۷

form روشنا
در:
سلام ما یه وبلاگ گروهی داریم مختص املاک فایل های جدید و حتی قالب جدید اصلا اعمال نمیشه . حتی راهنمایی که کرده...
۱۳۹۹/۱۰/۲۷

form علی
در:
من در یک سایت سازی سایت ساختم یه بخش داره به نام اسکریپت دلخواه می خوام یه اسکریپتی بذارم که مثلا یه موسیقی وقتی کاربر...
۱۳۹۹/۱۰/۲۷

form امیرحسین
در:
بله استاد خیلی ممنون، نمیدونستم خودش Optimize رو انجام میده در کل من بعد از ایندکس گذاری ها همیشه سعی کردم جوری که با...
۱۳۹۹/۱۰/۲۶

form امیرحسین
در:
ُسلام وقت بخیر این کووری هم چون اول قسمت WHERE انجام میشه بعد قسمت ON پس این کووری هم با حالت کووری قبلی برابره
۱۳۹۹/۱۰/۲۶
form امیرحسین
در:
سلام استاد وقت بخیر ممنون از پاسخ گویی های قبلی یه سوال دیگه داشتم: این هم هیچ مشکلی نداره و کار میکنه، ایا...
۱۳۹۹/۱۰/۲۵
form محمد بیدل بازه
در:
سلام خسته نباشید ببخشید من توی یک قسمت سایتم تصویری دارم و میخوام سمت راست اون تصویر متن بنویسم ولی نمیشه تا متن رو...
۱۳۹۹/۱۰/۲۵
form سلام
در:
و اینکه یه تگ خوب برای فونت معرفی کنید و یه تگ دیگه که متن رو (تیتر مطلب (تست)) در ادامش بنویسه نه اینکه...
۱۳۹۹/۱۰/۲۴
form سلام
در:
سلام وبسایتم را نگاه کنید از چه تگی استفاده کنم تا فاصله بین تیتر مطلب جدید را کاهش دهم؟ (از خطی به خط...
۱۳۹۹/۱۰/۲۴
form وطن
در:
سلام. خسته نباشید. خیلی گشتم درباره یک خطا یا ایراد فنی که چند روز هست در سایت نوشته شده با پی اچ پی (اسکریپت اولوشن)...
۱۳۹۹/۱۰/۲۴
form حورارمی
در:
سلام. من هنوز نمیدونم تو تنظیمات باید کجا رو بگردم تا قالب وبلاگم رو با عکس مورد علاقه ام تغییر بدم. یا نمیتونم...
۱۳۹۹/۱۰/۲۳
form راشد
در:
این روش خیلی طولانیه در فروشگاه من یک برنامه گرفتم که یه عکس توش اپلود کن بهت یک لینک میده در ظرف چند ثانیه و...
۱۳۹۹/۱۰/۲۱
form باسلام
در:
باسلام خدمت شما عزیز زحمت کش، من مطلب را تا آخر مطالعه کردم. من وبلاگم بازدیدای زیادی داره چون تمام مطالبش رو خودم مینویسم و...
۱۳۹۹/۱۰/۲۱
form محمود
در:
سلام و عرض ادب من در سایتم یک قسمت تب ایجاد کردم، متن ها را که در تب می نویسم پاراگراف بندی نمی شوند....
۱۳۹۹/۱۰/۲۱
form علی آقابیگی
در:
سلام خسته نباشید ببخشید من می خواستم کد جدید در وبلاگم بزارم بعد اشتباهی رفتم در قسمت ویرایش کدها و بعد بیشتر کدها را پاک...
۱۳۹۹/۱۰/۲۰
form محمد
در:
سلام. من میخوام با جاوا اسکریپت یک کدی بنویسم که وقتی کاربر روی یک دکمه ‏ای کلیک کرد، یک کد تصادفی برای شمارش ارسال...
۱۳۹۹/۱۰/۲۰
form پوریا
در:
سلام خسته نباشید، ممنونم بابت توضیحات خوبتون، یه مشکلی داشتم میخواستم ببینم امکانش هست راهنمایی کنید؟ فرض کنید یه اینطور متنی داریم: ...
۱۳۹۹/۱۰/۱۹
form seyedsobhanmansouri
در:
سلام خسته نباشید من سایتمو طراحی کردم اما به این مشکلات بر میخورم اول اینکه هدر سایتم نمایش داده نمیشه اصلا و بعد...
۱۳۹۹/۱۰/۱۹
form رضا
در:
سلام. ممنون بابت مطالب مفیدتون. این نوع جستجو به سئو سایت لطمه نمیزنه؟؟؟ چون در این مدل جستجو، مقدار impression میره بالا ولی...
۱۳۹۹/۱۰/۱۹
form mahdi
در:
سلام استاد عزیز ، پس بنظرتون بجای وقت گذاشتن برای یادگیری لاراول و وردپرس ، وقت بزارم که عمیق تر php و ساختار mvc...
۱۳۹۹/۱۰/۱۹
form علی
در:
سلام و ممنون بابت وبسایت عالیتون داخل بعضی سایت ها دیدید مثلا یه متنی شروع به تایپ شدن می کنه و وقتی کامل شد...
۱۳۹۹/۱۰/۱۸
form محمد
در:
سلام خدمت شما دوست عزیز سوالم این بود میخاستم چندتا مثال از این تابع و چند تابع دیگه از خودتون رو برام مثال بزنید...
۱۳۹۹/۱۰/۱۸
form محمود رنجبر
در:
سلام برادر مشکل من تو همین سایتی هست که فرستادم وقتی گزینه خانه رو کلیک میکنم و بعد دکمه بک گوشی رو میزنم بالای صفحه...
۱۳۹۹/۱۰/۱۷
form mahdi
در:
سلام استاد عزیز ، بعد از آموزس php با لاراول کار کنیم بهتره ؟
۱۳۹۹/۱۰/۱۶
form رضا
در:
آدرس رو براتون گذاشتم دامنه قبلا روی یه وبلاگ میهن بلاگ بود چند ماه میشه که از میهن بلاگ خداحافظی کردم ولی هنوز که هنوزه...
۱۳۹۹/۱۰/۱۴
form نیلو
در:
سلام... ببخشید بعد طراحی قالب قالب شیشه ایم هست یا نه؟؟؟
۱۳۹۹/۱۰/۱۳
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.