Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.06.2017, 11:57
Аватар для Anna1991
Новичок на форуме
Отправить личное сообщение для Anna1991 Посмотреть профиль Найти все сообщения от Anna1991
 
Регистрация: 01.06.2017
Сообщений: 2

Скрипт timeline - большой разрыв между датами
Всем привет!
Подскажите, пожалуйста, такая ситуация:
есть скрипт на js, который отображает на сайте timeline - линию времени. У меня между датами большой промежуток и приходится долго листать. Можно сделать так, чтобы промежуток был между датами одинаковый?

Скрипт прикреплён.
Вложения:
Тип файла: zip main.zip (3.1 Кб, 2 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 01.06.2017, 16:12
Аватар для Anna1991
Новичок на форуме
Отправить личное сообщение для Anna1991 Посмотреть профиль Найти все сообщения от Anna1991
 
Регистрация: 01.06.2017
Сообщений: 2

может быть плохо объяснила... наглядно посмотреть можно здесь:
https://codyhouse.co/gem/horizontal-timeline/
но там даты относительно друг друга рядом находятся. А если сделать между ними расстояние в десять лет - то уже приходится долго листать...
Ответить с цитированием
  #3 (permalink)  
Старый 01.06.2017, 16:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Anna1991,
заменить в плагине соответсвующие функции
function setDatePosition(timelineComponents, min) {
		for (i = 0; i < timelineComponents['timelineDates'].length; i++) {
		    var distance = daydiff(timelineComponents['timelineDates'][0], timelineComponents['timelineDates'][i]),
		    	distanceNorm = Math.round(distance/timelineComponents['eventsMinLapse']) + 2;
		   // timelineComponents['timelineEvents'].eq(i).css('left', distanceNorm*min+'px');
              timelineComponents['timelineEvents'].eq(i).css('left', (100*i + 15)+'px');
		}
	}

	function setTimelineWidth(timelineComponents, width) {
		var timeSpan = daydiff(timelineComponents['timelineDates'][0], timelineComponents['timelineDates'][timelineComponents['timelineDates'].length-1]),
			timeSpanNorm = timeSpan/timelineComponents['eventsMinLapse'],
			timeSpanNorm = Math.round(timeSpanNorm) + 4,
			//totalWidth = timeSpanNorm*width;
            totalWidth = (timelineComponents['timelineDates'].length - 1)*100+64;
		timelineComponents['eventsWrapper'].css('width', totalWidth+'px');
		updateFilling(timelineComponents['eventsWrapper'].find('a.selected'), timelineComponents['fillingLine'], totalWidth);
		updateTimelinePosition('next', timelineComponents['eventsWrapper'].find('a.selected'), timelineComponents);

		return totalWidth;
	}
Ответить с цитированием
  #4 (permalink)  
Старый 01.06.2017, 16:59
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

рони,
согласно описания в плагине минимальный шаг между датами задается в переменной eventsMinDistance в пикселях. Даты временной шкалы задаются в атрибутах date-date, минимальная расстояние между которыми и будет равно указанному в eventsMinDistance. В примере 60 рх для 5 дней, для 10 будет равно 120 рх. Получается, что нужно просто определить в eventsMinDistance нужную величину.
Ответить с цитированием
  #5 (permalink)  
Старый 01.06.2017, 17:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

laimas,
ничего в плагине менять не надо -- достаточно все указать в течение одного месяца не хватит то следующего.
Anna1991, укажите даты через равные промежутки в атрибуте
data-date="16/01/2014" неважно какая дата на самом деле.
Ответить с цитированием
  #6 (permalink)  
Старый 01.06.2017, 17:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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

Этот параметр для минимальной разницы дат на временной шкале. Следовательно, формируя данные для нее, зная макс. и мин. разницу между датами, задать eventsMinDistance.
Ответить с цитированием
  #7 (permalink)  
Старый 01.06.2017, 18:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от laimas
Этот параметр для минимальной разницы дат на временной шкале. Следовательно, формируя данные для нее, зная макс. и мин. разницу между датами, задать eventsMinDistance.
не могу понять о чём ты, уже второй раз пишешь, особенно причём тут eventsMinDistance
видимо для меня проще через data-date сделать или плагин поменять.
Ответить с цитированием
  #8 (permalink)  
Старый 01.06.2017, 19:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от рони
особенно причём тут eventsMinDistance
В описании плагина расписана настройка через данный параметр, определяющая расстояния между точками на временной шкале.
Ответить с цитированием
  #9 (permalink)  
Старый 01.06.2017, 20:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

laimas,
и что нужно сделать с этим параметром,чтоб промежутки были одинаковыми???
Ответить с цитированием
  #10 (permalink)  
Старый 01.06.2017, 20:54
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от рони
и что нужно сделать с этим параметром,чтоб промежутки были одинаковыми???
В описании говорится, что интервалы дат на временной шкале могут быть неравномерными, а данный параметр определяет расстояние для наименьшего интервала, по которому уже будут рассчитываться расстояния между остальными (в демонстрации, мин. между 30 августа и 15 сентября = 60рх, а между 9 июля и 30 августа = 182рх, и т.д.). Получается, что чем более интервал, тем меньшее значение значение этого параметра нужно задавать. Но если наименьший к примеру 3 дня, а наибольшие годы, то и получатся слишком большие расстояния между точками.

Более ничего то нет из задаваемых параметров.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт разности между средним значением размера файлов и максимумом как реализовать ratratrat Общие вопросы Javascript 1 21.12.2012 14:04
Разница между датами при onchange Ptichka Events/DOM/Window 0 06.04.2012 18:10
Разница между датами Amour Общие вопросы Javascript 4 29.03.2011 21:01
Скрипты отправка сообщений между пользователями, скрипт вывод текста на страницу.... Rapala Элементы интерфейса 2 12.01.2011 17:27
Разница между датами в днях autosoft Общие вопросы Javascript 2 01.06.2010 19:23