Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Уникальная игра, объединяющая популярные механики Match3 и пошаговые бои!

Магический мир

Мидкорные, Ролевые, Три в ряд

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Javascript + Фотография

С этим тегом используют

Программирование IT HTML IT юмор Программист Frontend CSS Девушки Кот Природа Эротика Дикие животные Сиськи Красота Все
1 пост сначала свежее
42
JOB.LAB
JOB.LAB
3 года назад
Web-технологии

Как быстро написать слайдер на JS?⁠⁠

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

Как быстро написать слайдер на JS? Javascript, Js 9, HTML, Html 5, Основы HTML, Htmlbook, CSS, Css3, Стиль, Слайдер, Скрипт, Инструкция, Сайт, Web, Web-программирование, Веб-дизайн, Веб-разработка, Фотография, Переключатель, Программирование, Длиннопост
Как быстро написать слайдер на JS? Javascript, Js 9, HTML, Html 5, Основы HTML, Htmlbook, CSS, Css3, Стиль, Слайдер, Скрипт, Инструкция, Сайт, Web, Web-программирование, Веб-дизайн, Веб-разработка, Фотография, Переключатель, Программирование, Длиннопост
Как быстро написать слайдер на JS? Javascript, Js 9, HTML, Html 5, Основы HTML, Htmlbook, CSS, Css3, Стиль, Слайдер, Скрипт, Инструкция, Сайт, Web, Web-программирование, Веб-дизайн, Веб-разработка, Фотография, Переключатель, Программирование, Длиннопост

Как же создать вот такой слайдер?

Слайдер будет состоять из кусков кода HTML, CSS, JS, писать будем в Codepen.io но это только для удобства, можете перенести к себе на сайт, веб-приложение или в удобное для вас место.

План

1. Пишем структуру

2. Пишем стили

3. Пишем код

4. Заполняем объект

Как быстро написать слайдер на JS? Javascript, Js 9, HTML, Html 5, Основы HTML, Htmlbook, CSS, Css3, Стиль, Слайдер, Скрипт, Инструкция, Сайт, Web, Web-программирование, Веб-дизайн, Веб-разработка, Фотография, Переключатель, Программирование, Длиннопост

Пишем структуру

Наша структура будет состоять из объекта с классом «slider», внутри которого будет две кнопки для переключения, одна с индификатором «left», другая с «right». По середине будет большая фотография с индификатором «slider_image».

<div class="slider">
<button id="left">
<img src="https://cdn-icons-png.flaticon.com/512/318/318476.png">
</button>
<img id="slider_image" src="">
<button id="right">
<img src="https://cdn-icons-png.flaticon.com/512/318/318476.png">
</button>
</div>

Как быстро написать слайдер на JS? Javascript, Js 9, HTML, Html 5, Основы HTML, Htmlbook, CSS, Css3, Стиль, Слайдер, Скрипт, Инструкция, Сайт, Web, Web-программирование, Веб-дизайн, Веб-разработка, Фотография, Переключатель, Программирование, Длиннопост

Пишем стили

Обнуляем лишние стили и пишем свои для наших элементов, контейнеров, кнопочек и фотографий.

body{
outline: none;
user-select: none;
font-size: 16px;
}
h1,p{
margin: 0;
padding: 0;
}
p{
margin-bottom: 10px;
}
a{
text-decoration: none;
background-color: rgb(50,50,50);
color: white;
padding: 5px 20px;
}
a:hover{
background-color: rgb(70,70,70);
}
.slider{
background-color: rgb(230,230,230);
height: 350px;
padding: 50px;
display: flex;
justify-content: center;
align-items: center;
}
.slider #slider_image{
background-color: rgb(50,50,50);
height: 400px;
min-width: 400px;
}
.slider button{
width: 70px;
height: 70px;
margin: 30px;
border: none;
border-radius: 100%;
padding: 0;
background: none;
}
.slider button img{
width: 50px;
height: 50px;
}
.slider #left img{
transform: rotate(180deg);
}
.slider button:hover{
opacity: 80%;
cursor: pointer;
}

Как быстро написать слайдер на JS? Javascript, Js 9, HTML, Html 5, Основы HTML, Htmlbook, CSS, Css3, Стиль, Слайдер, Скрипт, Инструкция, Сайт, Web, Web-программирование, Веб-дизайн, Веб-разработка, Фотография, Переключатель, Программирование, Длиннопост

Пишем скрипт

Для начала создадим объект, внутри которого будет хранить фотографии для слайдера, а именно ссылки на них для вписывания в будущем их в атрибут «src» на главной фотографии с индификатором «slider_image». После ищем все нужные элементы на странице через вставку «document.querySelector» и «document.getElementById». Создаем функции такие как «update()» которые будут отвечать за обновление главной фотографии, дальше будем писать ещё две функции для переключения главной фотографии. При старте страницы нужно вызвать функцию обновления, для подстраивания картинки при старте.

let slider_cfg = {
1: "https://cdn.pixabay.com/photo/2014/11/30/14/11/cat-551554_96...",
2: "https://cdn.pixabay.com/photo/2015/03/27/13/16/maine-coon-69...",
3: "https://cdn.pixabay.com/photo/2021/10/19/10/56/cat-6723256__...",
4: "https://cdn.pixabay.com/photo/2016/03/28/12/35/cat-1285634__...",
5: "https://cdn.pixabay.com/photo/2019/11/08/11/56/cat-4611189__...",
6: "https://cdn.pixabay.com/photo/2021/10/19/10/56/cat-6723256__...",
}
// varibles
let slider_image = document.getElementById('slider_image');
let left = document.getElementById('left');
let right = document.getElementById('right');
let sin = 1; //slider_image_number - sin
let size = Object.keys(slider_cfg).length;
let path = slider_cfg[sin];
// update slide
function update(){
path = slider_cfg[sin];
slider_image.setAttribute("src", path);
}
// toggle slides
left.onclick = function(){
if (sin > 1){
sin = sin - 1;
} else{
sin = 1;
}
update();
}
right.onclick = function(){
if (sin < size){
sin = sin + 1;
} else{
sin = size;
}
update();
}
// start
update();

Как быстро написать слайдер на JS? Javascript, Js 9, HTML, Html 5, Основы HTML, Htmlbook, CSS, Css3, Стиль, Слайдер, Скрипт, Инструкция, Сайт, Web, Web-программирование, Веб-дизайн, Веб-разработка, Фотография, Переключатель, Программирование, Длиннопост

Заполняем объект

Внутри объекта «slider_cfg», пишем номер картинки от 1 до бесконечности, он сам подстроит и сам определит количество, главное соблюдать индификатор, но можно написать и без индификатора по номеру и просто перебирать их. Ещё легче было бы написать в массиве. После указания номера картинки, после «:» пишем ссылку на картинку в скобочках « ' ' », не забудьте поставить «висячую запятую», то есть как на скриншоте, после каждой записи ставить запятую в конце, даже если запись окончена.

Как быстро написать слайдер на JS? Javascript, Js 9, HTML, Html 5, Основы HTML, Htmlbook, CSS, Css3, Стиль, Слайдер, Скрипт, Инструкция, Сайт, Web, Web-программирование, Веб-дизайн, Веб-разработка, Фотография, Переключатель, Программирование, Длиннопост

Итог

У нас есть рабочий и очень простенький слайдер для переключения фотографий, которые мы заполняем в объект. Все это работает без сбоев и хорошо.

Как быстро написать слайдер на JS? Javascript, Js 9, HTML, Html 5, Основы HTML, Htmlbook, CSS, Css3, Стиль, Слайдер, Скрипт, Инструкция, Сайт, Web, Web-программирование, Веб-дизайн, Веб-разработка, Фотография, Переключатель, Программирование, Длиннопост

Ссылка на код: https://codepen.io/Anton-Malezhik/pen/ZEJvbNQ

Показать полностью 8
[моё] Javascript Js 9 HTML Html 5 Основы HTML Htmlbook CSS Css3 Стиль Слайдер Скрипт Инструкция Сайт Web Web-программирование Веб-дизайн Веб-разработка Фотография Переключатель Программирование Длиннопост
13
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии