Последний елемент из цикла if
Всем привет!
Надо сделать расписание, чтоб подсвечивалась та программа, которая сейчас в эфире. Расписание в виде таблицы. Получается подсветить не только программу, которая в эфире, но и прошедшие, что не нужно. Для удобства упростил время к числам. <!DOCTYPE html> <html> <head> <link href="css/styles.css" rel="stylesheet"> <script type="text/javascript" src="js/scripts.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <table id="ttable"> <tbody> <tr> <td>Тиждень</td> <td>1</td> </tr> <tr> <td>Про гроші</td> <td>2</td> </tr> <tr> <td>Новини</td> <td>3</td> </tr> <tr> <td>Телемагазин</td> <td>6</td> </tr> </tbody> </table> </body> </html> function ttt() { var d = new Date(); var h = d.getHours(); var m = d.getMinutes(); t = 3.5; var nTable = document.getElementById('ttable'); nRows = nTable.rows.length; nCells = nTable.rows[0].cells.length; for (i=0; i<nRows; i++) { for (n=0; n<nCells; n++) { var tmp = nTable.rows[i].cells[n].innerHTML; if ( tmp[0] <= t ){ nTable.rows[i].style.backgroundColor = 'yellow'} } } } window.onload=ttt; Спасибо! |
dashbog, тогда лучше делать проверку на tmp > t, если условие срабатывает, то красим предыдущую строку и выходим из цикла с помощью break.
|
Ruslan_xDD,
Гениально! Спасибо! |
Теперь со временем
Со временем не выходит, и по-моему оно сравнивает еще и с ячейкой названия. Подзскажите плз.
<!DOCTYPE html> <html> <head> <link href="css/styles.css" rel="stylesheet"> <script type="text/javascript" src="js/scripts.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <table id="ttable"> <tbody> <tr> <td>Тиждень</td> <td>19:00</td> </tr> <tr> <td>Про гроші</td> <td>19:30</td> </tr> <tr> <td>Новини</td> <td>20:00</td> </tr> <tr> <td>Телемагазин</td> <td>20:30</td> </tr> </tbody> </table> </body> </html> function checkTime(i) { return (i < 10) ? "0" + i : i; } function ttt() { var d = new Date(); h = checkTime(d.getHours()), m = checkTime(d.getMinutes()), t = h + ":" + m; var nTable = document.getElementById('ttable'); nRows = nTable.rows.length; nCells = nTable.rows[0].cells.length; for (i=0; i<nRows; i++) { for (n=0; n<nCells; n++) { var tmp = nTable.rows[i].cells[n].innerHTML; if ( tmp[0] > t ){ alert(t); nTable.rows[i-1].style.backgroundColor = 'yellow'; break; } } } } window.onload=ttt; |
var table = document.getElementById('ttable'), rows = table.rows, currentDate = new Date, currentTime = currentDate.getHours() + ':' + currentDate.getMinutes(); for(var i = 0, lastIndex; i < rows.length; i++) { if(rows[i].cells[1].innerHTML <= currentTime) { lastIndex = i; } } if(lastIndex in rows) { rows[lastIndex].style.backgroundColor = 'yellow'; } |
Спасибо, Профессор!
Но, все-таки, корректно работает только с добавлением нолей (функция "checkTime"). function checkTime(i) { return (i < 10) ? "0" + i : i; } function ttt () { var table = document.getElementById('ttable'), rows = table.rows, currentDate = new Date, currentTime = checkTime(currentDate.getHours()) + ':' + checkTime(currentDate.getMinutes()); for(var i = 0, lastIndex; i < rows.length; i++) { if(rows[i].cells[1].innerHTML <= currentTime) { lastIndex = i; alert(currentTime); } } if(lastIndex in rows) { rows[lastIndex].style.backgroundColor = 'yellow'; } } window.onload=ttt; Буду учиться дальше. |
Ruslan_xDD,
Уникальное решение. Еще раз спасибо! |
Часовой пояс GMT +3, время: 23:39. |