تب های واکنشگرا
تب منو ها
با استفاده از تب ها می توانیم داخل یک صفحات وب را پیمایش کنیم.
به صورت طبیعی ،تب منوها از دکمه های منو (تب ها) که کنار هم چیده شده اند،که یکی از آنها انتخاب شده است ، استفاده میکنند.
این مثال از عناصر با یک کلاس استفاده میکند ("city " در این مثال) و از تغییر سبک هایdisplay:none و display:block برای مخفی کردن و نمایش دادن محتواهای متفاوت استفاده میکند:
مثال
<h2>London</h2>
<p>London is the capital of England.</p>
</div>
<div id="Paris" class="city" style="display:none">
<h2>Paris</h2>
<p>Paris is the capital of France.</p>
</div>
<div id="Tokyo" class="city" style="display:none">
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan.</p>
</div>
و تعدادی دکمه های با قابلیت کلیک کردن برای بازکردن محتوای تب ها:
مثال
<li><a href="javascript:void(0)" onclick="openCity('London')">London</a></li>
<li><a href="javascript:void(0)" onclick="openCity('Paris')">Paris</a></li>
<li><a href="javascript:void(0)" onclick="openCity('Tokyo')">Tokyo</a></li>
</ul>
و جاوااسکریپت برای انجام اینکار:
مثال
var i;
var x = document.getElementsByClassName("city");
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
document.getElementById(cityName).style.display = "block";
}
جاوا اسکریپت تعریف شده
تابع openCity زمانی که کاربر روی یکی از دکمه های منو کلیک میکند ،فراخوانی میشود.
این تابع تمام عناصر رابا نام کلاس "city" با (display="none") را مخفی میکند و عنصر دارای کلاس با نام city به صورتی که (display="block") باشد ،نمایش میدهد.
تب های با قابلیت بسته شدن
برای بستن یک تب ، onclick=this.parentElement.style.display=none را به یک عنصردرون container تب ، بیافزایید:
مثال
<span onclick="this.parentElement.style.display='none'" class="w3-closebtn">X</span>
<h2>London</h2>
<p>London is the capital city of England.</p>
</div>
تب فعال/جاری
برای مشخص کردن تب / صفحه جاری که کاربر در آن قرار دارد، از جاوااسکریپت استفاده کنید و یک کلاس رنگ به لینک فعال بیافزایید. در مثال زیر ،ما کلاس "tablink" را به هر لینک افزودیم.در این روش،بدست آوردن همه لینکهایی که با تب ها مرتبطند، آسان است ،و به تب جاری یک کلاس "w3-red" برای مشخص شدن آن ، می افزاییم.
مثال
var i, x, tablinks;
x = document.getElementsByClassName("city");
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablink");
for (i = 0; i < x.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" w3-red", "");
}
document.getElementById(cityName).style.display = "block";
evt.currentTarget.className += " w3-red";
}
تب های عمودی
مثال
<a href="javascript:void(0)" class="tablink" onclick="openCity(event, 'London')">London</a>
<a href="javascript:void(0)" class="tablink" onclick="openCity(event, 'Paris')">Paris</a>
<a href="javascript:void(0)" class="tablink" onclick="openCity(event, 'Tokyo')">Tokyo</a>
</nav>
محتوای تب متحرک شده
ازکلاس های w3-animate برای محو کردن ،بزرگنمایی یا حرکت کشویی محتوای تب استفاده میکنیم:
مثال
<p>London is the capital city of England.</p>
</div>
گالری تصویر به صورت تب
مثال
<img src="/img_nature.jpg" alt="Nature">
</a>
<div id="Nature" class="picture w3-display-container">
<img src="/img_nature_wide.jpg" alt="Nature" style="width:100%">
<span onclick="this.parentElement.style.display='none'" class="w3-display-topright">×</span>
<div class="w3-display-bottomleft w3-container">Nature</div>
</div>
تب ها در یک شبکه
از تب هادر یک طرح سه ستونه استفاده میشود. نکته اینکه ما یک border پایین به جای رنگ پس زمینه به تب فعال اضافه میکنیم.
مثال
function openCity(evt, cityName) {
var i, x, tablinks;
x = document.getElementsByClassName("city");
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablink");
for (i = 0; i < x.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" w3-border-red", "");
}
document.getElementById(cityName).style.display = "block";
evt.currentTarget.firstElementChild.className += " w3-border-red";
}
</script>
- نوشته شده توسط زهرا داوودی
- بازدید: 4207