SEO продвижение сайтов

Пишем слайдер на JavaScript

Пишем слайдер на JavaScript

В этой статье мы напишим работающий слайдер на чистом JavaScript без использования библиотек, только JS, HTML и CSS -поехали!

Подготовьте подходящие картинки в папке img, под статьёй есть slider-na_js.rar архив примера, его можно скачать и использовать.

Создаем файл HTML - index.html

<!DOCTYPE html><html dir="ltr" lang="ru-ru">
<head>
<title>СЛАЙДЕР</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
</head><body

<div class="slider">
<div class="fotos">
<div class="active"><img src="/img/Fon-1.jpg"><div>Привет!!!</div></div>
<div><img src="/img/Fon-2.jpg"><div>Можно делать подписи</div></div>
<div><img src="/img/Fon-3.jpg"></div>
<div><img src="/img/Fon-4.jpg"></div>
<div><img src="/img/Fon-5.jpg"></div>
<div><img src="/img/Fon-6.jpg"></div>
<div><img src="/img/Fon-7.jpg"></div>
</div>
<div class="bottom">
<span class="back">Вперед</span>
<span class="next">Назад</span>
</div>
</div>
<script src="/js.js"></script>

</body></html>

Создаем файл CSS - style.css

* {margin:0; padding:0;}
.okr4, .slider .fotos>div, .bottom span
{
border-radius:4px;
-webkit-border-radius:4px;
-moz-border-radius:4px;
-khtml-border-radius:4px;
-o-border-radius:4px;
}

/*СЛАЙДЕР*/
.slider {
width:650px;
margin:10px auto;
}

/*Блоки слайдов*/
.slider .fotos {
height:370px;
position:relative;
}

/*Блок слайда: Фото+текст*/
.slider .fotos>div {
width:650px;
height:360px;
border:1px solid #666;
overflow:hidden;
position:absolute;
opacity:0;
transition: opacity 1s; /*Плавное изменение*/
}

/*Активный блок слайда*/
.slider .fotos>div.active {
opacity:1;
}

/*Картинка слайда*/
.slider .fotos img {
width:100%;
display:block;;
}

/*Надпись на слайде*/
.slider .fotos>div>div {
z-index:10;
}

/*Кнопки*/
.bottom{text-align:center;}
.bottom span {display:inline-block; border:1px solid #666; margin:10px 30px; width:60px; padding:3px 10px; cursor:pointer;}
.bottom span:hover {background:#ccc;}
.bottom .back {}
.bottom .next {}


/*Выравнивание блока в нутри блока*/
.viravn, .slider .fotos img, .slider .fotos>div>div {
position: absolute;
top:50%; left:50%;
margin-right:-50%;
transform:translate(-50%, -50%);
}

Создаем файл JavaScript - js.js

var bat_back=document.querySelector('.slider .bottom .back');
var bat_next=document.querySelector('.slider .bottom .next');

var div_fotos=document.querySelectorAll('.slider .fotos>div'); /*Получаем все фото*/
var i=0; /*Индекс массива фото*/

/*Клик по кнопке назад*/
bat_back.onclick=function()
{
div_fotos[i].className=''; // Удаляем
class i--;

if (i<0){
{
i=div_fotos.length-1;
}

div_fotos[i].className='active'; // Добавляем class active
}

/*Клик по кнопке вперед*/
bat_next.onclick=function()
{
div_fotos[i].className=''; // Удаляем class
i++;

if (i>=div_fotos.length)
{
i=0;
}

div_fotos[i].className='active'; // Добавляем class active
}

Скачать slider-na_js.rar архив примера можно здесь.

Автор: Алехин Геннадий (14.04.2018)

Добавить комментарий


Защитный код
Обновить

Web-технологии

Событие в JavaScript

Событие в JavaScript - это определённое действие, которые вызвано либо пользователем, либо браузером.

Например:

События мыши:

  • click – происходит, когда кликнули на элемент левой кнопкой мыши (на устройствах с сенсорными экранами оно происходит при касании).
  • contextmenu – происходит, когда кликнули на элемент правой кнопкой мыши.
  • mouseover / mouseout – когда мышь наводится на / покидает элемент.
  • mousedown / mouseup – когда нажали / отжали кнопку мыши на элементе.
  • mousemove – при движении мыши.

События на элементах управления:

  • submit – пользователь отправил форму
  • focus – пользователь фокусируется на элементе, например нажимает на <input type="text" />.
Подробнее...

Универсальный обход по массиву

Предлагаю вашему вниманию PHP-код - универсальный обходчик любого массива с любым представлением. Используем две функции: 1) функция с циклом (метод ArrFor() в классе) и 2) функция (как аргумент) с оформлением результатов обхода по массиву в цикле.

Подробнее...

JavaScript - основы (ES6)

ECMAScript 6 (или ES6) - это новая версия JavaScript 2015г, в которую добавлен новый функционал, которая на сегодня поддерживается всеми современными браузерами.

Переменные и комментарии

JavaScript - не строго типизированный язык. Переменные обозначаются так:

	let name='Геннадий'//Строка
	console.log(name)  //Геннадий - отображается в консоли

	var age=40      //Число(без кавычек) VAR (глобальная) - устарело, не использовать!
	console.log(age)//40 - отображается в консоли

	const prof="Программист"//Это константа
	console.log(prof)//Программист - отображается в консоли

	// - это однострочный комментарий

	/*
		тут 
		многострочные 
		комментарии
	*/

Подробнее...
Интересные статьи

Диалектические противоречия или чего хотят современные женщины

Диалектические противоречия или чего хотят современные женщины

Современная женщина, независимо от доходов и статуса, выбирает мужчину для отношений, который должен обладать определенными чертами характера. Именно наличие этих естественных черт характера у мужчины определяют его как достойного для создания пары.

Многие женщины, живущие в современном мире, традиционно имеют как минимум два взаимоисключающих убеждения в отношении взаимодействия с мужчинами для создания такого союза.

Подробнее...

Почему мужчинам опасно регистрировать брак в России

Почему мужчинам опасно регистрировать брак в России

Сразу хочу сообщить, что я не оголтелый женоненавистник или противник семейных ценностей. Я как раз наоборот - замечательно и с почтением отношусь к прекрасным дамам и являюсь сторонником традиционных семейных ценностей.

Но при этом категорически настаиваю, что официально регистрировать брак в нашей стране для мужчин катастрофически опасно и вот почему...

Подробнее...

День Победы со слезами на глазах...

День Победы со слезами на глазах...

Дорогие друзья, вот и прошёл пожалуй самый светлый праздник для нашей страны, для нашего народа - ДЕНЬ ПОБЕДЫ - 9 мая.

Но, как именно прошёл праздник 75-летия ПОБЕДЫ в этом году, я хочу напомнить сегодня, спустя 4 дня от празднования исторической даты.

У меня такое ощущение, как будто никто не заметил, что ПОЛИЦАИ по всей стране в этот день задерживали, арестовывали и штрафовали именно за память о Победе, за возложение цветов к памятникам нашим павшим героям.

Подробнее...

Оставить заявку

Закрыть
Заполните фрму и отправьте нам заяку
Заполните все обязательные поля*
captcha
Перезагрузить