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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка таблиц, сортировка 
:(
    Опции темы
Good13
  Дата 23.7.2014, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток. Имеется таблица html с расписанием автобуса. Задача: взять время нынешнее и в зависимости от его значения вывести 5ближайших рейсов. Есть наброски работающие несовсем четко(при задании времени большим, чем 14:00 это время все равно выдается. А при прогоне значений "i" в цикле именно это значение выдается как 0, трудно объяснить иначе как-то). Помогите найти ошибки/ предложите иной вариант реализации.

Код

<div id="mid" name="mid">
        
        <div id="t130a" name="t130a">
            <h3>Ейск - п.Братский </h3>
            <h4> Цена проезда - 30р </h4>
            <h5> Время отправления </h5>
            <table id="table130a" rules="all">
                <tr>
                    <th>из Ейск</th><th>из п.Комсомолец</th>
                </tr>
                
                <tr>
                    <td><span id='eisk'>13:00</span></td>
                                                                      <td><span id='koms'>09:10</span></td>
                </tr>
                
                <tr>
                    <td><span id='eisk'>16:00</span></td>
                                                                      <td><span id='koms'>14:15</span></td>
                </tr>
                
                <tr>
                    <td><span id='eisk'>18:00</span></td>
                                                                      <td><span id='koms'>17:15</span></td>
                </tr>
                
                <tr>
                    <td><span id='eisk'>--:--</span></td>
                                                                      <td><span id='koms'>19:20</span></td>
                </tr>
                
            </table>

        </div>
</div> 



Код

var iNeedHour=17,iNeedMin=0;
var iNeedCount=3;
var tableData=[];
$('#table130a span[id=koms]').each(function(){
    var time=$(this).html();
  
    tableData.push(time.split(':'));
    alert(tableData);
}); 

for(var i=0;i<tableData.length;i++)
{
    if (tableData[i][0]=='--' || tableData[i][0] < iNeedHour) 
    { 
        tableData.splice(i,1);
    } 
    
        else { if (tableData[i][0] == iNeedHour) {if (tableData[i][1] < iNeedMin) {tableData.splice(i,1);}}
}}

for(i=0;i<iNeedCount;i++) {tableData[i]=tableData[i][0]+':'+tableData[i][1];

$('#mid').append('из комсомольца:'+tableData[i]+'<br>');




PM MAIL   Вверх
dcc0
Дата 26.7.2014, 15:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











JS не знаю.


Наверное так, но могу ошибаться:

1. сравнивать с текущим временем, сначала преобразовав  в одно число часы и минуты.

2. Преобразовать время в расписании,  часы и минуты.

Если время отправления больше текущего, - например, на 5 минут, - тогда
не выводить.

Соответственно, эти пять минут можно прибавить к переменной, которая хранит текущее время и просто сравнивать.

P.S. Неверные результаты могут быть из-за форматов даты.

Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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