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

Cards out!

Карточные, Ролевые, Стратегии

Играть

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

  • Animalrescueed Animalrescueed 43 поста
  • XCVmind XCVmind 7 постов
  • tablepedia tablepedia 43 поста
Посмотреть весь топ

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

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

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

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

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

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

3 года назад

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

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

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

План

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

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

3. Пишем код

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

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

Наша структура будет состоять из объекта с классом «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>

Пишем стили

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

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;
}

Пишем скрипт

Для начала создадим объект, внутри которого будет хранить фотографии для слайдера, а именно ссылки на них для вписывания в будущем их в атрибут «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();

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

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

Итог

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

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

Показать полностью 8
[моё] Javascript Js 9 HTML Html 5 Основы HTML Htmlbook CSS Css3 Стиль Слайдер Скрипт Инструкция Сайт Web Web-программирование Веб-дизайн Веб-разработка Фотография Переключатель Программирование Длиннопост
13
15
panik01
panik01
Лига Велосипедистов

Помогите найти деталь⁠⁠

3 года назад

Имеются barend шифтеры как на фото

Слыхал и даже видал что их можно переделать из барендов в обычные как на фото ниже

Для переделки нужны хомуты с упорами для тросиков как на фото ниже

Я перерыл весь рунет но не нашел их в свободной продаже даже на Али нету . Друзья велосипедисты , помогите советом где найти или может есть у кого ? PS: Нужны именно для microshift

Показать полностью 4
Переключатель Помощь Помогите найти Велосипед Запчасти Компоненты Длиннопост
25
3656
GatoCartagena
GatoCartagena

Как это работает⁠⁠

3 года назад

Вдруг кто не знал...

Перейти к видео
Электричество Электрик Видео Вертикальное видео Выключатель Переключатель
691
10
mrobry
mrobry
Лига Велосипедистов

Интересно, ездабельно или как?⁠⁠

3 года назад
Интересно, ездабельно или как?
Велосипед Переключатель
40
industrions
industrions

Вопрос. Музыка в стате⁠⁠

4 года назад

На телефоне запускаю музыку в приложении MP3- плеер и при передвижении изменяется музыка. Если телефон держать неподвижно то ничего не переключается.
использовал несколько разных приложений.
подскажите как отключить это

Вопрос Музыка Переключатель Переключение Своими руками Текст
16
9
CryptoDefend0r
CryptoDefend0r

Было - стало⁠⁠

4 года назад

Износ роликов на переключателе Shimano Altus RD-M310 при пробеге около 5000 км.

Было - стало
[моё] Велосипед Переключатель Цепь Износ Ремонт
44
104
evgen1285
evgen1285
Лига электриков

А не ебанёт?⁠⁠

4 года назад
А не ебанёт?
Показать полностью 1
[моё] Скриншот Viber Электричество Короткое замыкание Тумблер Переключатель Длиннопост
31
valentinise228

Левая кнопка мыши громче правой⁠⁠

4 года назад

Купил я значит сегодня мышку "hyperx pulsefire surge" и заметил такую вещь, что когда нажимаешь на левую кнопку мыши она звучит громче левой. Это такая фитча или брак? Или разные типы переключателей?

Компьютерная мышка Переключатель Текст
21
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии