Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.02.2018, 21:00
Аватар для dupre
Аспирант
Отправить личное сообщение для dupre Посмотреть профиль Найти все сообщения от dupre
 
Регистрация: 25.05.2014
Сообщений: 62

Слайдер на чистом js
Хочу понять, как можно преобразовать код данного слайдера, чтобы открывался и начал работать в модальном окошке. Конечно есть Lightbox либо fancyBox, но суть не в этом. Хочется понять и разобраться, как это можно сделать именно на чистом js, на примере данного кода. И если например, допустим, будут две или три ссылки на открытие слайдера, где в каждой будет свой набор картинок, под каждую ссылку нужно будет повторять данный код или это будет не грамотным решением? Как такую задачу реализовать грамотно?

<!DOCTYPE html> 
<html>
<head>
	<meta charset="utf-8">
	<title>JS</title>
	<style>
		#slider{
			width: 400px;
		}
		
		#slider img{
			width: 100%;
			height: 300px;
		}
		
		#buttons{
			text-align: center;
		}
	</style>
	<script src="script.js"></script>
</head>
<body>
	<div id="slider">
		<img src="">
		<div id="buttons">
			<input id="btnPrev" type="button" value="<-">
			<input id="btnNext" type="button" value="->">
		</div>
	</div>
</body>
</html>


window.onload = function(){
	
	var images = ['Chrysanthemum.jpg', 'Desert.jpg', 'Jellyfish.jpg', 'Penguins.jpg', 'Tulips.jpg'];
	
	var i = 0;
	var img = document.querySelector('#slider img');
	img.src = 'img/' + images[i];
	
	document.querySelector('#btnPrev').onclick = function(){
		(i > 1) ? i-- : (i = images.length - 1);
		img.src = 'img/' + images[i];
	}
	
	document.querySelector('#btnNext').onclick = function(){
		(i < images.length - 1) ? i++ : i = 0;
		img.src = 'img/' + images[i];
	}
}
Ответить с цитированием
  #2 (permalink)  
Старый 20.02.2018, 21:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

dupre,
для начала уберите все id, замените на классы потом, сделайте ваше "модальное окно".
Ответить с цитированием
  #3 (permalink)  
Старый 20.02.2018, 21:09
Аватар для dupre
Аспирант
Отправить личное сообщение для dupre Посмотреть профиль Найти все сообщения от dupre
 
Регистрация: 25.05.2014
Сообщений: 62

рони,
приветствую, рад слышать. А чем плохи id, вразуми пожалуйста.
Ответить с цитированием
  #4 (permalink)  
Старый 20.02.2018, 21:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от dupre
А чем плохи id
чтобы не дублировать код для разных слайдеров, а использовать один тотже.
Ответить с цитированием
  #5 (permalink)  
Старый 20.02.2018, 21:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

dupre,
хотя можно менять только массивы картинок
Ответить с цитированием
  #6 (permalink)  
Старый 20.02.2018, 21:20
Аватар для dupre
Аспирант
Отправить личное сообщение для dupre Посмотреть профиль Найти все сообщения от dupre
 
Регистрация: 25.05.2014
Сообщений: 62

рони,
понятно. А будет ли этот код работать кроссбраузерно? Вообще, как понять кроссбраузерный код или нет? Простой проверкой работы кода в разных браузерах достаточно для понимания? Или есть какие-то более продвинутые вещи для этого?
Ответить с цитированием
  #7 (permalink)  
Старый 20.02.2018, 21:21
Аватар для dupre
Аспирант
Отправить личное сообщение для dupre Посмотреть профиль Найти все сообщения от dupre
 
Регистрация: 25.05.2014
Сообщений: 62

рони,
"хотя можно менять только массивы картинок", это мне не понятно к сожалению. Можно показать?
Ответить с цитированием
  #8 (permalink)  
Старый 20.02.2018, 21:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от dupre
Можно показать?
нет. мне неизвестно как вы хотите реализовать свою задумку.

Сообщение от dupre
А будет ли этот код работать кроссбраузерно?
да,и откуда сомнение? не вижу вашем коде ничего проблемного.
Ответить с цитированием
  #9 (permalink)  
Старый 20.02.2018, 21:41
Аватар для dupre
Аспирант
Отправить личное сообщение для dupre Посмотреть профиль Найти все сообщения от dupre
 
Регистрация: 25.05.2014
Сообщений: 62

рони,
задумка такая: три ссылки на открытие слайдера и в каждой свой набор картинок, и в каждом наборе своё количество картинок. В одной ссылке 3 картинки, во второй ссылке 5 картинок, в третьей 6 картинок.
Ответить с цитированием
  #10 (permalink)  
Старый 20.02.2018, 21:43
Аватар для dupre
Аспирант
Отправить личное сообщение для dupre Посмотреть профиль Найти все сообщения от dupre
 
Регистрация: 25.05.2014
Сообщений: 62

По поводу кроссбраузерности не то чтобы сомнения, а просто для понимания. Не знаю, как понять: кроссбраузерный какой-либо код или нет.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аналог jQuery(...).animate на чистом JS 2chan Общие вопросы Javascript 3 12.07.2015 19:23
Пример тестовых заданий на js junior elshaarawy Учебные материалы 3 26.03.2015 15:17
Проекты на чистом js kidar2 Общие вопросы Javascript 7 09.01.2014 14:26
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28