بخش Vip سئو نود

بهترین فرصت برای یادگیری در قسمت Vip سئو نود هم اکنون برای دانشجوبان عزیز فراهم شده است

جزئیات بیشتر
آموزش یکبار برای همیشه
تا آخر مردادماه 25 جلسه به دوره نابغه سئو پلاس اضافه خواهد شد

ساخت اسلایدر پیشرفته با HTML و CSS و JS

مقالات طراحی سایت

آموزش ساخت اسلایدر فوق العاده جذاب توسط HTML و CSS با حداقل کد ! در ساده‌ترین حالت ممکن و بدون استفاده از کتابخانه‌های جی کوئری ، اسلایدر خودتان را بسازید .

1 190
ساخت اسلایدر پیشرفته با HTML و CSS و JS
مطالعه : 8 دقیقه

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

برای اینکه یک اسلایدر داشته باشیم ، علاوه بر کد HTML و CSS ، قطعا به کمی جاوا اسکریپت نیز نیاز داریم . البته که هر اندازه این کد بهینه بوده و عملکرد درستی داشته باشد ، در اینصورت یک کد مناسب است .

برای ساخت اسلایدر قطعه کدهای بسیاری وجود دارد برای مثال ممکن است اسلایدر شما بصورت خودکار حرکت کند ، یا برای مثال هنگامی که موس روی هر آیتم اسلایدر قرار گرفت ، حرکت اسلایدها متوقف شود و … اسلایدری که خواهیم ساخت بصورت زیر است :

ساخت اسلایدر برای قالب html

دراین نمونه ، اسلایدر ما بصورت خودکار حرکت نمی‌کند ، اما هم فلش‌های حرکت برای جابجا کردن اسلایدها و هم دکمه‌های زیر اسلایدر یا اصلاحا dots برای تغییر اسلایدها وجود دارد . پس بهتر است دست به کار شده و اول کد HTML پروژه را ایجاد کنیم .

کد HTML اسلایدر

برای اینکه یک اسلایدر جذاب داشته باشیم ، قبل از هرچیزی یک div برای خود اسلایدر نیاز داریم ، در داخل این قسمت باید هر آیتم اسلاید را بصورت مجزا قرار دهیم که در این مثال هر اسلاید با کلاس mySlides مشخص شده است .

جهت ایجاد دکمه‌های مکان نما از تگ های a با کلاس prev و next استفاده شده است . نهایتا برای ایجاد دکمه‌های گرد در پایین اسلاید ، خارج از div اصلی اسلایدر ، قسمت dots را قرار داده‌ایم .

<!-- Slideshow container -->
<div class="slideshow-container"> 
    <!-- Full-width images with number and caption text -->
    <div class="mySlides fade">
      <img src="img/1.webp" style="width:100%">
      <div class="text">Caption Text</div>
    </div>
  
    <div class="mySlides fade">
      <img src="img/2.webp" style="width:100%">
      <div class="text">Caption Two</div>
    </div>
  
    <div class="mySlides fade">
      <img src="img/3.webp" style="width:100%">
      <div class="text">Caption Three</div>
    </div>
  
    <!-- Next and previous buttons -->
    <a class="prev" onclick="plusSlides(-1)">&#10094;</a>
    <a class="next" onclick="plusSlides(1)">&#10095;</a>
</div> 
<!-- dots -->
<div style="text-align:center">
    <span class="dot" onclick="currentSlide(1)"></span>
    <span class="dot" onclick="currentSlide(2)"></span>
    <span class="dot" onclick="currentSlide(3)"></span>
</div>

توجه کنید که برای قسمت prev و next از یک رویداد بنام onclick استفاده شده است که عمل کلیک روی هر فلش حرکت اسلایدر را تنظیم کنیم . داخل این قسمت از یک تابع بنام plusSlides استفاده شده است که در ادامه کد جاوا اسکریپتی مربوط به آنها را خواهیم نوشت !

برای قسمت dot یا همان دکمه‌های گرد زیر اسلایدر نیز از یک رویداد بنام onclick استفاده شده است که عمل کلیک روی دکمه را کنترل کند . داخل این قسمت از یک تابع بنام currentSlide استفاده شده است که به تعداد اسلاید هایی که داریم ، یعنی 3 اسلاید ، اعداد 1 تا 3 را بعنوان پارامتر ورودی به این تابع ارسال کرده‌ایم .

توجه کنید تصاویری که ما در این سورس کد استفاده کرده‌ایم و با اسامی 1.webp و 2.webp و 3.webp هستند را خودتان باید داخل پروژه استفاده کنید و مختار هستید . همچنین شما می‌توانید از اسامی دلخواه خودتان برای کلاس‌های CSS استفاده کنید .

کد CSS اسلایدر

اکنون که ساختمان پروژه آماده شده است ، زمان آن است که استایل و طراحی این قسمت را نیز تکمیل کنیم . همانطور که بالاتر گفته شد ، می‌توانید اسامی دلخواه خودتان را برای کلاس‌های پروژه استفاده کنید .

در این قسمت با ساده‌ترین حالت ، کدنویسی CSS را انجام داده‌ایم و شما می‌توانید برای هرقسمت ، استایل دلخواه خودتان را تنظیم کنید . سورس کد CSS بصورت زیر است :

.slideshow-container {
  max-width: 1400px;
  position: relative;
  margin: 16px  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 {
  right: 0;
  border-radius: 3px 0 0 3px;
}

.text {
  color: #f2f2f2;
  font-size: 15px;
  padding: 8px 12px;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
}

.dot {
  cursor: pointer;
  height: 10px;
  width: 10px;
  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 {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

این کد CSS حداقل کدی است که می‌توانید برای اسلایدر خودتان درنظر داشته باشید . اکنون باتوجه به تکمیل شدن قسمت طراحی ، آماده هستیم تا کد جاوا اسکریپتی برای به حرکت درآوردن اسلایدها را بنویسیم .

کد JavaScript اسلایدر

اگر شما با فرانت در قسمت کدنویسی جاوا اسکریپت مشکل دارید ، حتی اگر دقیقا کدهای ارائه شده را داخل پروژه خودتان قرار دهید ، یک اسلایدر شکیل خواهید داشت .

در این کد که باید در انتهای فایل html داخل تگ script اضافه کرده یا در روشی دیگر داخل یک فایل با پسوند js قرار داده و آن فایل را داخل فایل html آدرس دهی کنید ، دو بخش اصلی کدنویسی داریم .

<script>
    let slideIndex = 1;
    showSlides(slideIndex);

    // Next/previous controls
    function plusSlides(n) {
    showSlides(slideIndex += n);
    }

    // Thumbnail image controls
    function currentSlide(n) {
    showSlides(slideIndex = n);
    }

    function showSlides(n) {
    let i;
    let slides = document.getElementsByClassName("mySlides");
    let 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";
    }
</script>

قسمت اول این کد برای عملکرد تابع plusSlides است که برای کلیدهای مکان نما و عقب و جلو کردن اسلایدها قرار داده بودیم که تحت عملکردی براساس افزایش تعداد کار می‌کند .

قسمت دوم برای کنترل اسلایدها توسط dots ها است که ویژگی display هر اسلاید را براساس block و none تنظیم خواهد کرد . همانطور که بالاتر گفته شد شاید درک این بخش از کد برای شما کمی سخت باشد اما خارج از چند شرط و عمل برطبق آن شرط ها چیزی نیست !

اگر دقیقا همین کد ارائه شده را نیز داخل پروژه خودتان قرار دهید ، یک اسلایدر بی نقص از هرنظر خواهید داشت . تصویر ارائه شده در ابتدای صفحه ، خروجی این سورس کد را خدمت شما نمایش داده است . امید داریم که این سورس کد برای شما مفید بوده باشد موفق باشید .

امید قدیمی

امید قدیمی هستم ، 8 سال است که در زمینه طراحی و برنامه نویسی وب سایت فعالیت می کنم . توسعه دهنده فرانت اند ، طراح و برنامه نویس انواع وب سایت های وردپرسی ، فعال در زمینه تولید محتوا و سئو وب سایت

اشتراک گذاری محتوا

نقشه راه فرانت

اگر قصد دارید تا یک طراح ماهر باشید ، ما درست ترین مسیر را برای شما فراهم کردیم و فقط کافیست همراه ما باشید

نقشه راه وردپرس

اگر شما نیز علاقمند هستید تا وردپرس را به عنوان یک برنامه نویس توسعه دهید ، بهترین دوره های آموزشی را برایتان تدریس کردیم

شاید این مطالب نیز برای شما جالب باشد
آموزش سلکتور optional: در css
مطالعه : 5 دقیقه 0
امید قدیمی امید قدیمی
۱۴۰۲-۱۱-۲۰
چرا باید سایت داشته باشیم
مطالعه : 15 دقیقه 0
امید قدیمی امید قدیمی
۱۴۰۳-۰۳-۰۲
چگونه خودمان سایت طراحی کنیم ؟
مطالعه : 15 دقیقه 1
امید قدیمی امید قدیمی
۱۴۰۲-۰۱-۳۰
نظرات و پرسش
توجه کامنت های انگلیسی تایید نخواهند شد در صورت داشتن مشکل ، قبل از ارسال دیدگاه نظرات سایر دوستان را نیز مطالعه فرمائید توجه داشته باشید که دیدگاه یا پرسش صحیح شما کمک شایانی به سایر علاقمندان به این مطلب یا محصول خواهد داشت
اشتراک دیدگاه تکمیل تمامی فیلدها الزامی است
captcha

دیدگاه های شما
مصطفی ابهری
مصطفی ابهری ۱۱ / ۱۴۰۳

کدهارو تست کردم کامل درست هستند و اسلایدر درست کار میکنه ممنون از سایت خوبتون خیلی مهم بود برام که ساده و سبک اسلایدر بسازم

آموزش های رایگان بیشتر در آپارات و یوتیوب سئو نود
کانال آپارات سئو نود چنل یوتیوب سئو نود