Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.08.2013, 03:10
Интересующийся
Отправить личное сообщение для lvovitch Посмотреть профиль Найти все сообщения от lvovitch
 
Регистрация: 07.08.2013
Сообщений: 22

Калькулятор времени - может кто видел?
Может кто видел калькулятор времени?
есть время, которое выводится в полях. например время 22:34
есть поля:
<input type="text" name="hour" value="22">
<input type="text" name="min" value="34">
и есть поле куда вводятся корекция в минутах:
<input type="text" name="korr" value="-24">
Если введено -24, то время должно отображаться не 22:34, а 22:10.

Может кто видел такой скрипт???
Ответить с цитированием
  #2 (permalink)  
Старый 19.08.2013, 09:11
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,134

Сообщение от lvovitch
Может кто видел такой скрипт?
Дык
4-я ссылка...
Ответить с цитированием
  #3 (permalink)  
Старый 19.08.2013, 10:34
Интересующийся
Отправить личное сообщение для lvovitch Посмотреть профиль Найти все сообщения от lvovitch
 
Регистрация: 07.08.2013
Сообщений: 22

Сообщение от ksa Посмотреть сообщение
Дык
4-я ссылка...
Спасибо БОЛЬШОЕ!!!

а я искал по запросу "javascript калькулятор времени" и ничего не нашел...
Ответить с цитированием
  #4 (permalink)  
Старый 19.08.2013, 13:31
Интересующийся
Отправить личное сообщение для lvovitch Посмотреть профиль Найти все сообщения от lvovitch
 
Регистрация: 07.08.2013
Сообщений: 22

Что бы не плодить темы спрошу тут:
нашел я подходящий скрипт здесь: http://www.o-o-d.com/timecalc.php

удалил все нужное. Вроде все работает.
Но есть одна проблема: если например время1 - 23:55, а я прибавляю к нему 55 минут, то вместо 0:50, я получаю 24:50. Как это можно исправить?
У автора, по ссылке выше, такая же ситуация. Вот мой код:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
  <HEAD>
    <TITLE>
      Калькулятор времени
    </TITLE>
    <META http-equiv="Cache-Control" content="no-cache">
    <LINK rel='stylesheet' type='text/css' href='css/format.css'>
  </HEAD>
  <BODY>
    <SCRIPT type="text/javascript" language="JavaScript">
var t=3;



    function getTimeFromString(str)
    {
       var h=str.substring(0,str.indexOf(":"));
       var m=str.substring(str.lastIndexOf(":")+1,str.length);
       return m*60+h*60*60;
    }



    function calc_up() {
    var time=[];
    var i=0;
    var s=0;

      for(i=1;i<t;i++)
    {
    time[i]=1*getTimeFromString(document.getElementById('t'+i).value);
    s+=time[i];
    }


    var ts=s;
    var new_ts=0;
    var tsstring="";
    while(ts>1000)
    {
    new_ts=Math.floor(ts/1000);
    tsstring=(ts-new_ts*1000)+" "+tsstring
    ts=new_ts;
    }


    var m=0;
    var h=0;
    if (s > 59) {
    m = Math.floor(s/60);
    s = s - m * 60;
    }
    if (m > 59) {
    h = Math.floor(m / 60);
    m = m - h * 60;
    }
    if (s < 10) {
    s = "0" + s;
    }
    if (m < 10) {
    m = "0" + m;
    }

    document.getElementById('tres').innerHTML=h+":"+m;

    return;

      }




         function calc_down() {
    var time=[];
    var i=0;
    var s=0;

      for(i=1;i<t;i++)
    {
    time[i]=1*getTimeFromString(document.getElementById('t_down'+i).value);
    s+=time[i];
    }


    var ts=s;
    var new_ts=0;
    var tsstring="";
    while(ts>1000)
    {
    new_ts=Math.floor(ts/1000);
    tsstring=(ts-new_ts*1000)+" "+tsstring
    ts=new_ts;
    }


    var m=0;
    var h=0;
    if (s > 59) {
    m = Math.floor(s/60);
    s = s - m * 60;
    }
    if (m > 59) {
    h = Math.floor(m / 60);
    m = m - h * 60;
    }
    if (s < 10) {
    s = "0" + s;
    }
    if (m < 10) {
    m = "0" + m;
    }

    document.getElementById('tres_down').innerHTML=h+":"+m;

    return;

      }





    </SCRIPT>

    <DIV align="center">
      <TABLE id="tab" border="0">
        <TR>
          <TD class='c' colspan="3">
            <b>ВВЕРХ</b>
          </TD>
        </TR>
        <TR>

          <TD>
            Время 1:
          </TD>
          <TD>
            <INPUT id="t1" maxlength="9" onkeyup="calc_up()" type="text" size="10" value="00:00">
          </TD>
        </TR>

        <TR>

          <TD>
            Время 2:
          </TD>
          <TD>
            <INPUT id="t2" maxlength="9" onkeyup="calc_up()" type="text" size="10" value="">

          </TD>
        </TR>
        <TR>
          <TD colspan="2">
            Результат:
          </TD>
          <TH>
            <DIV id="tres">
              0:00
            </DIV>

          </TH>
        </TR>

      </TABLE>
    </DIV>



            <br><br>




        <DIV align="center">
      <TABLE id="tab" border="0">
        <TR>
          <TD class='c' colspan="3">
            <b>ВНИЗ</b>
          </TD>
        </TR>
        <TR>

          <TD>
            Время 1:
          </TD>
          <TD>
            <INPUT id="t_down1" maxlength="9" onkeyup="calc_down()" type="text" size="10" value="00:00">
          </TD>
        </TR>

        <TR>

          <TD>
            Время 2:
          </TD>
          <TD>
            <INPUT id="t_down2" maxlength="9" onkeyup="calc_down()" type="text" size="10" value="">

          </TD>
        </TR>
        <TR>
          <TD colspan="2">
            Результат:
          </TD>
          <TH>
            <DIV id="tres_down">
              0:00
            </DIV>

          </TH>
        </TR>

      </TABLE>
    </DIV>
  </BODY>
</HTML>
Ответить с цитированием
  #5 (permalink)  
Старый 19.08.2013, 13:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,134

Сообщение от lvovitch
если например время1 - 23:55, а я прибавляю к нему 55 минут, то вместо 0:50, я получаю 24:50. Как это можно исправить?
Так пора писать свой калькулятор на основе того, что ты уже видел.
Ответить с цитированием
  #6 (permalink)  
Старый 19.08.2013, 14:17
Профессор
Отправить личное сообщение для Kvark Посмотреть профиль Найти все сообщения от Kvark
 
Регистрация: 02.04.2013
Сообщений: 225

ну так а проверить не судьба что получилось после прибавки? и отминусовать если превышеает 23:59...
Ответить с цитированием
  #7 (permalink)  
Старый 19.08.2013, 19:16
Интересующийся
Отправить личное сообщение для lvovitch Посмотреть профиль Найти все сообщения от lvovitch
 
Регистрация: 07.08.2013
Сообщений: 22

Ура! Часть проблемы решено!!! Добавил в функцию:
if (h > 23) {
    h = "0";
    }

И все заработало.
а вот в "обратную сторону" - не пойму почему не работает. Написал так:
if (h < 0) {
    h = "23";
    }
Ответить с цитированием
  #8 (permalink)  
Старый 19.08.2013, 21:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,077

lvovitch,

<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
</head>

<body>
<input type="text" name="hour" value="23">
 <input type="text" name="min" value="55">
 <input type="text" name="korr" value="55">
 <input name="ok" type="button" value="ok">
<script>
var  hour = document.getElementsByName("hour")[0],
     min = document.getElementsByName("min")[0],
     korr = document.getElementsByName("korr")[0],
     ok = document.getElementsByName("ok")[0];
     ok.onclick = function ()
{
    var date = new Date();
    date.setHours(hour.value,((min.value|0)+(korr.value|0)),0,0);
    hour.value = date.getHours();
    min.value = date.getMinutes();
}
</script>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто рисует это? greatilya Оффтопик 2 19.01.2011 13:19
Помогите кто может?! Ingiborn Javascript под браузер 7 04.12.2009 19:06
Подскажите кто может Matvey Общие вопросы Javascript 2 23.07.2009 09:04
Сторонние библиотеки - быть или не быть? IIIEPJIOK Оффтопик 64 21.03.2009 19:39
Может кто подсказать как можно сделать submit из левого фрейма в правый maxander Internet Explorer 1 28.11.2008 10:15