Добрый вечер, пытаюсь переделать ваш скрипт чтобы было начало и конец события, пока безрезультатно. Мне нужно чтобы массив "C" можно было забивать примерно в таком виде:
c = [
{t : "Занятия завершены", h : 7, m : 00, h2: 8, m2: 00},
{t : "До начала 1 урока", h : 8, m : 00, h2: 8, m2: 45},
{t : "До окончания 1 урока(перемена)", h : 8, m : 45, h2: 8, m2: 55},
]
нужно для того чтобы составить расписание уроков и текущий урок обозначить красным цветом. и чтобы события именно в этот промежуток времени воспроизводилось)) если нет такого события по времени или оно прошло, то показывало что сейчас нет событий. Например:
c = [
{t : "Занятия завершены", h : 0, m : 00, h2: 7, m2: 10},
{t : "До начала 1 урока", h : 8, m : 00, h2: 8, m2: 45},
{t : "До окончания 1 урока(перемена)", h : 8, m : 45, h2: 8, m2: 55},
{t : "Занятия завершены", h : 17, m : 00, h2: 0, m2: 00},
]
здесь с 7: 10 до 8 часов нет события, отображало что сейчас нет событий, с 8 55 до 17 00 тоже нет событий!!
или как нибудь так))
С расписанием сделал так, переделав скрипт не меняя логики немного кривовато, но работает))
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body><div id = 'show'></div>
<div id = 'Lessontimer_time2'></div>
<script>
function Lesson() {
var yrokvivod = [];
c = [
{t : "Занятия завершены", h : 7, m : 00, lesson:11},
{t : "До начала 1 урока", h : 8, m : 00, lesson:1},
{t : "До окончания 1 урока", h : 8, m : 45, lesson:1},
{t : "До начала 2 урока", h : 8, m : 55, lesson:2},
{t : "До окончания 2 урока", h : 9, m : 40, lesson:2},
{t : "До начала 3 урока", h : 10, m : 05, lesson:3},
{t : "До окончания 3 урока", h : 10, m : 50, lesson:3},
{t : "До начала 4 урока", h : 11, m : 15, lesson:4},
{t : "До окончания 4 урока", h : 12, m : 00, lesson:4},
{t : "До начала 5 урока", h : 12, m : 25, lesson:5},
{t : "До окончания 5 урока", h : 13, m : 10, lesson:5},
{t : "До начала 6 урока", h : 13, m : 20, lesson:6},
{t : "До окончания 6 урока", h : 14, m : 05, lesson:6},
{t : "До начала 7 урока", h : 14, m : 20, lesson:7},
{t : "До окончания 7 урока", h : 15, m : 05, lesson:7},
{t : "До начала 8 урока", h : 15, m : 15, lesson:8},
{t : "До окончания 8 урока", h : 16, m : 00, lesson:8},
{t : "До начала 9 урока", h : 16, m : 10, lesson:9},
{t : "До окончания 9 урока", h : 16, m : 55, lesson:9},
{t : "До начала 10 урока", h : 17, m : 05, lesson:10},
{t : "До окончания 10 урока", h : 17, m : 55, lesson:10},
{t : "Занятия завершены", h : 7, m : 00, lesson:11},
],
yrok = [];
array = [];
lesson1 = [];
j= 0;
k = 1;
for (var i = 0; i < c.length; i++) {
yrok = [c[i].lesson];
if (yrok != 0){
for (var property in yrok) {
yrokvivod.push(yrok[property]);
}
}
}
uniqueArray = yrokvivod.filter(function(elem, pos) {
return yrokvivod.indexOf(elem) == pos;
});
for (var i = 0; i < c.length; i++) { // перебераем весь массив с уроками
yrok = [c[i].lesson]; // записываем
for (var j = 0; j < uniqueArray.length; j++) {
if (yrok == uniqueArray[j]){
array.push = [c[i].h + " : " + c[i].m];
//console.log('j' + j);
for (var property in array) {
lesson1.push(array[property]);
//console.log(lesson1);
}
}
}
}
for(var i = 0; i < lesson1.length; ++i) {
document.getElementById("Lessontimer_time2").innerHTML += "<div id='k" + k + "'>" + k +' Урок: c ' + lesson1[i] + ' по ' + lesson1[++i] + '</br>';
k++
}
};
Lesson();
function two(a) {
return (9 < a ? "" : "0") + a
}
function formatTime(a) {
a = Math.floor(a / 1E3);
var c = Math.floor(a / 60),
d = Math.floor(c / 60);
a %= 60;
c %= 60;
return two(d) + " : " + two(c) + " : " + two(a)
}
function Time() {
var a = new Date,
c = [
{t : "Занятия завершены", h : 7, m : 00, lesson:11},
{t : "До начала 1 урока", h : 8, m : 00, lesson:1},
{t : "До окончания 1 урока", h : 8, m : 45, lesson:1},
{t : "До начала 2 урока", h : 8, m : 55, lesson:2},
{t : "До окончания 2 урока", h : 9, m : 40, lesson:2},
{t : "До начала 3 урока", h : 10, m : 05, lesson:3},
{t : "До окончания 3 урока", h : 10, m : 50, lesson:3},
{t : "До начала 4 урока", h : 11, m : 15, lesson:4},
{t : "До окончания 4 урока", h : 12, m : 00, lesson:4},
{t : "До начала 5 урока", h : 12, m : 25, lesson:5},
{t : "До окончания 5 урока", h : 13, m : 10, lesson:5},
{t : "До начала 6 урока", h : 13, m : 20, lesson:6},
{t : "До окончания 6 урока", h : 14, m : 05, lesson:6},
{t : "До начала 7 урока", h : 14, m : 20, lesson:7},
{t : "До окончания 7 урока", h : 15, m : 05, lesson:7},
{t : "До начала 8 урока", h : 15, m : 15, lesson:8},
{t : "До окончания 8 урока", h : 16, m : 00, lesson:8},
{t : "До начала 9 урока", h : 16, m : 10, lesson:9},
{t : "До окончания 9 урока", h : 16, m : 55, lesson:9},
{t : "До начала 10 урока", h : 17, m : 05, lesson:10},
{t : "До окончания 10 урока", h : 17, m : 55, lesson:10},
{t : "Занятия завершены", h : 7, m : 00, lesson:11},
],
d = [], e = a.getDate() + 1, b = 0;
for (; b < c.length; b++)
a.setHours(c[b].h, c[b].m, 0, 0),
c.length-1 == b && a.setDate(e),
d[b] = a.getTime();
for (b = 0; b < c.length && !(a = d[b] - (new Date).getTime(), 0 < a); b++);
if (c[b].t != 'Занятия завершены'){
var style2 = c[b].lesson;
document.getElementById("k"+ style2).style.backgroundColor = "#960505";
document.getElementById("show").innerHTML = c[b].t + " в " +c[b].h +":"+c[b].m+ " осталось " + formatTime(a);
window.setTimeout(Time, 1E3)
}
else {
var style2 = c[b].lesson;
document.getElementById("k"+ style2).style.backgroundColor = "#960505";
document.getElementById("show").innerHTML = c[b].t;
window.setTimeout(Time, 1E3)
}
};
Time();
</script>
</body>
</html>