سلاااااااااااااااااااااااااااااااااااااااااام پر انرژی. دوباره برگشتم تا با کد هام حالتونو بگیرم :دی
منظورم اینه که یه حالی بهتون بدم.
در این مقاله قصد دارم کد جاوا اسکرپتی را که مربوط به ایجاد اسلایدر تصاویر در صفحات وب میشه رو قرار بدم. امیدوارم که بدردتون بخوره.
اول کد های HTML رو مینویسم:
<!-- lباکس اصلی اسلایدر ما --> <div class="slideshow-container"> <!-- اسم و آدرس و شماره مربوط به تصاویر --> <div class="mySlides fade"> <div class="numbertext">1 / 3</div> <img src="آدرس تصویر دلخواه" style="width:100%"> <div class="text">تیتر اولt</div> </div> <div class="mySlides fade"> <div class="numbertext">2 / 3</div> <img src="آدرس تصویر دلخواه" style="width:100%"> <div class="text">تیتر دوم</div> </div> <div class="mySlides fade"> <div class="numbertext">3 / 3</div> <img src="آدرس تصویر دلخواه" style="width:100%"> <div class="text">تیتر سوم</div> </div> <!-- ایجاد دکمه های قبل و بعد --> <a class="prev" ="plusSlides(-1)">❮</a> <a class="next" ="plusSlides(1)">❯</a> </div> <br> <!-- دکمه های دایره ای اسلایدر --> <div style="text-align:center"> <span class="dot" ="currentSlide(1)"></span> <span class="dot" ="currentSlide(2)"></span> <span class="dot" ="currentSlide(3)"></span> </div>
خب کد های بالا فقط اسکلت کار رو درست میکنه. هنوز استایل دهی مو مونده.
بریم سر وقت کد های CSS:
* {box-sizing:border-box} /* باکس اصلی اسلایدر */ .slideshow-container { max-width: 1000px; position: relative; margin: auto; } /* پنهان کردن پیش فرض تصاویر */ .mySlides { display: none; } /* استایل دکمه های قبل و بعد */ .prev, .next { cursor: pointer; position: absolute; top: 50%; width: auto; margin-top: -22px; padding: 16px; color: white; font-weight: bold; font-size: 18px; transition: 0.6s ease; border-radius: 0 3px 3px 0; user-select: none; } /* مکان دکمه .next */ /* دهید .prev اگر سیستم تان راست چین است، باید این ویژگی را به */ .next { right: 0; border-radius: 3px 0 0 3px; } /* تغییرات بر اثر آمدن روی دکمه ها */ .prev:hover, .next:hover { background-color: rgba(0,0,0,0.8); } /* تیتر های تصاویر */ .text { color: #f2f2f2; font-size: 15px; padding: 8px 12px; position: absolute; bottom: 8px; width: 100%; text-align: center; } /* شماره های تصاویر */ .numbertext { color: #f2f2f2; font-size: 12px; padding: 8px 12px; position: absolute; top: 0; } /*دکمه های دایره ای اسلایدر */ .dot { cursor: pointer; height: 15px; width: 15px; margin: 0 2px; background-color: #bbb; border-radius: 50%; display: inline-block; transition: background-color 0.6s ease; } .active, .dot:hover { background-color: #717171; } /* سیستم محو شدن */ .fade { -webkit-animation-name: fade; -webkit-animation-duration: 1.5s; animation-name: fade; animation-duration: 1.5s; } /* یک سری کار مربوط به انیمیشن */ @-webkit-keyframes fade { from {opacity: .4} to {opacity: 1} } @keyframes fade { from {opacity: .4} to {opacity: 1} }
خب اینم از این.
نکته: کار بعضی از استایل هارو می تونیم ببینیم. ولی بعضی هاشون بعد از دادن کدهای جاوا اسکریپت مشخص می شوند.
و اما کدهای JS :
var slideIndex = 1; showSlides(slideIndex); // دکمه های قبل و بعد function plusSlides(n) { showSlides(slideIndex += n); } // مشخص کردن لینک در تصاویر function currentSlide(n) { showSlides(slideIndex = n); } function showSlides(n) { var i; var slides = document.getElementsByClassName("mySlides"); var dots = document.getElementsByClassName("dot"); if (n > slides.length) {slideIndex = 1} if (n < 1) {slideIndex = slides.length} for (i = 0; i < slides.length; i++) { slides[i].style.display = "none" } for (i = 0; i < dots.length; i++) { dots[i].className = dots[i].className.replace(" active", ""); } slides[slideIndex-1].style.display = "block" dots[slideIndex-1].className += " active" }
خدا رو شکر بالاخره تموم شد :دی
اگه کد ها مشکلی داشت بگید لطفا. ما رو از نظراتتون دریغ نکنید. ممنون از همتون .............................
اگر کد یا مثال لازم دارید یا دنبال آموزش هستید، Nima Hassani رو تو sololearn دنبال کنید، از همینجا بپرسید، یا به این ایمیل: pigy3p@gmail.com ... پیام بدید. موفق باشید.