Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 23.03.2019, 13:37
Аспирант
Отправить личное сообщение для Jimy Посмотреть профиль Найти все сообщения от Jimy
 
Регистрация: 21.03.2019
Сообщений: 64

А все-таки почему мой пример не работает? Почему не показывает значения типа "20:30"?
Ведь "20:30">"17:32" будет true. А показывает только "целые" значения. Подскажите, почему? (так, для интереса)
Ответить с цитированием
  #12 (permalink)  
Старый 23.03.2019, 14:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

Jimy,
потому что "время сейчас" у вас скорее всего число??? , а сравнение со строкой.
alert("16:30" > "16");  //true
     alert("16:30" > 16);  //false
Ответить с цитированием
  #13 (permalink)  
Старый 23.03.2019, 15:18
Аспирант
Отправить личное сообщение для Jimy Посмотреть профиль Найти все сообщения от Jimy
 
Регистрация: 21.03.2019
Сообщений: 64

Вот, вроде работает:
var arr = new Array();
$('#table3 td').each(function() {
arr.push($(this).text());
}) ;
for (var i = 0; i < arr.length; i++) {
arr[i]=$.trim(arr[i]);
if(arr[i] > date_hour) break;
};
$('td:contains('+arr[i]+')').css({'background-color':'#CFF4CF'});
Ответить с цитированием
  #14 (permalink)  
Старый 23.03.2019, 15:20
Аспирант
Отправить личное сообщение для Jimy Посмотреть профиль Найти все сообщения от Jimy
 
Регистрация: 21.03.2019
Сообщений: 64

И еще вопросик вдогонку. Есть таблица с тремя td. А как в тот же массив получить значения только из первых двух, игнорируя значения в третьем?
Ответить с цитированием
  #15 (permalink)  
Старый 23.03.2019, 16:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

Сообщение от Jimy
получить значения только из первых двух
Знаете ли вы селекторы? nth-child
https://api.jquery.com/lt-selector/
Ответить с цитированием
  #16 (permalink)  
Старый 23.03.2019, 16:23
Аспирант
Отправить личное сообщение для Jimy Посмотреть профиль Найти все сообщения от Jimy
 
Регистрация: 21.03.2019
Сообщений: 64

Благодарю за полезные ссылки. Буду изучать
Ответить с цитированием
  #17 (permalink)  
Старый 25.03.2019, 10:26
Аспирант
Отправить личное сообщение для Jimy Посмотреть профиль Найти все сообщения от Jimy
 
Регистрация: 21.03.2019
Сообщений: 64

Вот теперь вопрос про селекторы. Попробую объяснить. Есть 2 таблицы (id='table3') и (id='opas') В первой 2 столбца, во второй 3. Выполняю подсветку времени рейсов, в первой все работает, во второй подсвечивается и третий столбец, а он не нужен. Исключаю его из выборки ;not(nth-child(3). И теперь в первой таблице подсвечивается значение, совпадающее со значением в первой... Вот сам код. Понимаю, что он кривой, прошу указать явную ошибку...
код:

function clock() {
var d = new Date();
var day = d.getDate();
var hours = d.getHours();
var minutes = d.getMinutes();
var seconds = d.getSeconds();

month=new Array("января", "февраля", "марта", "апреля", "мая", "июня",
"июля", "августа", "сентября", "октября", "ноября", "декабря");
days=new Array("воскресенье", "понедельник", "вторник", "среда",
"четверг", "пятница", "суббота");

if (day <= 9) day = "0" + day;
if (hours <= 9) hours = "0" + hours;
if (minutes <= 9) minutes = "0" + minutes;
if (seconds <= 9) seconds = "0" + seconds;

date_date = days[d.getDay()]+", "+day + " " + month[d.getMonth()] + " " + d.getFullYear() + " г. "
;
date_time = hours + ":" + minutes + ":" + seconds+" ";
date_hour=hours + ":" + minutes;
if (document.layers) {
document.layers.date.document.write(date_time);
document.layers.date.document.close();
document.layers.time.document.write(date_time);
document.layers.time.document.close();
}
else {
document.getElementById("date").innerHTML = date_date;
document.getElementById("time").innerHTML = date_time;
}

//таблица обычных рейсов
var arr = new Array();
$('#table3 td').each(function() {
arr.push($(this).text());
}) ;
arr.splice(arr.length-1, 1);

for (var i = 0; i < arr.length; i++) {
arr[i]=$.trim(arr[i]);
if(arr[i] > date_hour) break;

};

$('td:contains('+arr[i]+')').css({'background-color':'#CCFFCC'});

$('td:not(:contains('+arr[i]+'))').css({'background-color':'white'});
$('td:contains('+arr[i-1]+')').css({'background-color':'#99CCFF'});

$('#curtime').text(' Следующий рейс в '+arr[i]);
$('#curtimenow').text(' Выполняется рейс на '+arr[i-1]+' ');
if(arr[arr.length-1]<date_hour)
{$('#curtime').text(' Следующий рейс в '+arr[0])};
///
// Таблица рейсов с опасным грузом

var arr = new Array();
$('#opas td:not(:nth-child(3))').each(function() {
arr.push($(this).text());
}) ;
for (var i = 0; i < arr.length; i++) {
arr[i]=$.trim(arr[i]);
if(arr[i] > date_hour) break;
};
$('td:contains('+arr[i]+')').css({'background-color':'#CFF4CF'});
if(arr[i] <= date_hour) $('td:contains('+arr[i]+')').css({'background-color':'white'});;
//

//

setTimeout("clock()", 1000);
}
clock();
Ответить с цитированием
  #18 (permalink)  
Старый 25.03.2019, 10:32
Аспирант
Отправить личное сообщение для Jimy Посмотреть профиль Найти все сообщения от Jimy
 
Регистрация: 21.03.2019
Сообщений: 64

Все, вопрос снят! Вот олень, ведь в коде css не были прописаны id таблиц!
Теперь работает!
Ответить с цитированием
  #19 (permalink)  
Старый 25.03.2019, 10:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

Jimy,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
небольшой вопрос по центровке wlad Internet Explorer 1 08.01.2017 19:03
Неизвестный идентификатор FaNaT_96 Общие вопросы Javascript 14 01.05.2016 18:15
Вопрос от новичка: сменить тип инпута по клику на флажке Menelion Elensule jQuery 2 23.11.2009 17:28
Вопрос новичка XML "when test" gosha_kap (X)HTML/CSS 1 16.07.2009 12:30
Вопрос новичка по DIV De-Luxis Я не знаю javascript 6 02.06.2009 20:34