Показать сообщение отдельно
  #19 (permalink)  
Старый 19.08.2016, 13:24
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

У тебя и расчет ближайшего рейса - хрень. ))) Вот смотри как можно сделать эту часть:

<!DOCTYPE html>
<html lang="ru" dir="ltr">
<head>
<meta charset="utf-8">

<script>

var timeBuss = [
	{num:13,	tms:['9:30','10:30','11:40','12:30','13:20','14:06']},
	{num:45,	tms:['8:04','9:55','10:35','11:44','12:30','13:50']},
	{num:1245,	tms:['7:22','8:53','9:44','10:59','11:56']}
];

function renderBusSchedule() {

	var	date = new Date('2016-08-19T09:28:00'), /* remove test date after testing */
	
	time = {
		tt: date.getHours()+':'+date.getMinutes()+':'+date.getSeconds(),
		tm: date.getMinutes()+60*date.getHours()
	},
	
	getTimeLeft=function(t){
	
		for (var i=0; i<t.length; i++) {
		
			var
			
			tmp=t[i].split(':'),
			
			tm=(+tmp[1]+60*tmp[0])-time.tm;
			
			if (tm>0) return {tm:tm,i:i};
		}
		
		return {tm:null,i:-1};
	
	};

	for(var tms, tl, j=0; j<timeBuss.length; j++) {

		tms=timeBuss[j].tms;
		tl=getTimeLeft(tms);
	
		if(tl.i>-1) /* it here since fckin js does not have variable references */
			tms[tl.i]='<span style="color:red;">'+tms[tl.i]+'</span>'+', осталось минут: '+tl.tm;
	
		document.getElementById('schedule-'+j).innerHTML=
		'<div>'+
			'<p>Расписание рейса № '+timeBuss[j].num+'</p>'+
			'<p>'+'Сейчас: '+time.tt+'</p>'+
			'<ul><li>'+tms.join('</li><li>')+'</li></ul>'+
		'</div>';
		
	}
	
}
</script>

</head>
<body>

<div id="schedule-0"></div>
<div id="schedule-1"></div>
<div id="schedule-2"></div>
<script>renderBusSchedule();</script>

</body>
</html>
Ответить с цитированием