Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсветка дат до сегодняшнего дня 
V
    Опции темы
Win MK 32
Дата 27.5.2014, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Вот я написал код, который подсвечивает сегодняшнюю дату
Код

var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1;
var curr_year = d.getFullYear();
if(curr_month.toString().length==1){
  curr_month = "0" + curr_month;
}
var today_date = curr_date + "." + curr_month + "." + curr_year;
$('td.cf_2.date:contains('+today_date+')').css('color', 'red');

Как переделать, чтобы подсвечивались кроме того еще и все даты до этой даты?
PM   Вверх
Aliance
Дата 27.5.2014, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Без разметки сложно сказать, но можно попробовать как-то так:
Код

// ...
var $row = $('td.cf_2.date:contains('+today_date+')');
var index = $row.index();
$('td.cf_2.date').slice(0, index).css('color', 'red');


Добавлено через 3 минуты и 22 секунды
Да, должно сработать. Вот пример:
http://jsfiddle.net/Aliance/Gx7YL/
PM MAIL WWW ICQ Skype   Вверх
Win MK 32
Дата 27.5.2014, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



А как это сделать не с числами, а с датами вида 28.05.2014?
Что верстка? контейнеры td с классами .cf_2 и .date
PM   Вверх
Aliance
Дата 27.5.2014, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



А какая разница какой контент внутри? Вот пример с датами: http://jsfiddle.net/Aliance/Gx7YL/1/
Думаю уж с div на td-то сами замените?

Добавлено через 7 минут и 7 секунд
Если ячейки будут располагаться не друг за другом (например, будут столбцы), тогда решение такое: с самого начала раскрашиваем все ячейки, до тех пор пока не дойдем до ячейки с текущей датой.
Пример: http://jsfiddle.net/Aliance/Gx7YL/2/
PM MAIL WWW ICQ Skype   Вверх
Win MK 32
Дата 27.5.2014, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Не работает так  smile 
Код

var date = new Date();
var month = date.getMonth() + 1;
if (month <= 9) {
    month = '0' + month;
}
var today_date = date.getDate() + '.' + month + '.' + date.getFullYear();

var $row = $('td.cf_2.date:contains(' + today_date + ')');
var index = $row.index();
$('td').slice(0, index + 1).css('color', 'red');

PM   Вверх
Aliance
Дата 27.5.2014, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Я повторюсь, не видя вашей разметки, я могу только телепатией заниматься. Мои телепатические навыки сгенерировали вам 2 примера: 1) когда элементы идут подряд в рамках одного родителя (тогда index прокатит) и 2) когда элементы идут как попало. Второй вариант - универсальный. 
PM MAIL WWW ICQ Skype   Вверх
Win MK 32
Дата 27.5.2014, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Элементы идут как попало. Там таблица и не одна. Нужно для всех td с классами .cf_2 и .date

Например вот кусок кода:
Код

  <tr id="issue-4560" class="hascontextmenu odd issue status-4 priority-2 assigned-to-me ">
    <td class="checkbox hide-when-print"><input name="ids[]" type="checkbox" value="4560" /></td>
    <td class="id"><a href="/issues/4560">4560</a></td>
        <td class="cf_10 list"></td><td class="assigned_to"><a href="/users/10">Михаил</a></td>
<td class="subject"><a href="/issues/4560">Прочие задания</a></td>
<td class="done_ratio">
<table class="progress" style="width: 80px;"><tr><td class="todo" style="width: 100%;"></td></tr></table>
<p class="pourcent"></p></td><td class="project"><a href="/projects/raznoe">Разное</a></td>
<td class="author"><a href="/users/1">Михаил</a></td><td class="cf_2 date">01.02.2013</td>
  </tr>

Это редмайн
PM   Вверх
Aliance
Дата 27.5.2014, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Цитата(Aliance @  27.5.2014,  16:51 Найти цитируемый пост)
Если ячейки будут располагаться не друг за другом (например, будут столбцы), тогда решение такое: с самого начала раскрашиваем все ячейки, до тех пор пока не дойдем до ячейки с текущей датой.
Пример: http://jsfiddle.net/Aliance/Gx7YL/2/ 


PM MAIL WWW ICQ Skype   Вверх
Win MK 32
Дата 27.5.2014, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Цитата(Aliance @  27.5.2014,  14:51 Найти цитируемый пост)
http://jsfiddle.net/Aliance/Gx7YL/2/ 

Раскрашиваются все даты... 
PM   Вверх
Aliance
Дата 27.5.2014, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Стало быть вы предоставили не точную информацию, либо где-то я не так понял. Самое простое - взять и скопировать весь html в jsfiddle, сохранить и дать ссылку сюда. Там и посмотрим.
PM MAIL WWW ICQ Skype   Вверх
Win MK 32
Дата 27.5.2014, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



http://jsfiddle.net/3WHyT/

Это сообщение отредактировал(а) Win MK 32 - 27.5.2014, 17:24
PM   Вверх
Aliance
Дата 27.5.2014, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Ну конечно у вас все ячейки окрашивались, вы же не уточняли, что у вас даты идут не по-порядку и текущей даты может не быть вовсе. Я-то думал это что-то типа календаря.
Тогда логику немного меняем, нужно сравнивать дату в поле с текущей.
Пример (будет работать, если даты отсортированы по возрастанию).
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0557 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.