Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите с функцией, таймер (https://javascript.ru/forum/dom-window/3609-pomogite-s-funkciejj-tajjmer.html)

enterwap 06.05.2009 23:56

Помогите с функцией, таймер
 
<script language="javascript">
speed=1000;
len=40;
tid = 0;
num=0;
clockA = new Array();
timeA = new Array();
formatA = new Array();
dd = new Date();
var d,x;

function doDate(x)
{
  for (i=0;i<num;i++) {
    dt = new Date();
  
    if (timeA[i] != 0) {
      v1 = Math.round(( dt - timeA[i] )/1000) ;
      if (formatA[i] == 1)
        clockA[i].date.value = v1;
      else if (formatA[i] ==2) {
        sec = v1%60;
	v1 = Math.floor( v1/60);
	min = v1 %60 ;
	hour = Math.floor(v1 / 60);
	if (sec < 10 ) sec = "0"+sec;
	if (min < 10 ) min = "0"+min;
        clockA[i].date.value = hour+"h "+min+"m "+sec+"s";
        }
      else if (formatA[i] ==3) {
        sec = v1%60;
	v1 = Math.floor( v1/60);
	min = v1 %60 ;
	v1 = Math.floor(v1 / 60);
	hour = v1 %24 ;
	day = Math.floor(v1 / 24);
	if (sec < 10 ) sec = "0"+sec;
	if (min < 10 ) min = "0"+min;
	if (hour < 10 ) hour = "0"+hour;
        clockA[i].date.value = day+"d "+hour+"h "+min+"m "+sec+"s";
        }
      else if (formatA[i] ==4 ) {
        sec = v1%60;
	v1 = Math.floor( v1/60);
	min = v1 %60 ;
	v1 = Math.floor(v1 / 60);
	hour = v1 %24 ;
	day = Math.floor(v1 / 24);
        clockA[i].date.value = day+(day==1?"day ":"days ")+hour+(hour==1?"hour ":"hours ")+min+(min==1?"min ":"mins ")+sec+(sec==1?"sec ":"secs ")
        }
      else
        clockA[i].date.value = "Invalid Format spec";
      }
    else
      clockA[i].date.value = "Countup from when?";
    }

  tid=window.setTimeout("doDate()",speed);
}

function start(d,x,format) {
  clockA[num] = x
  if (d == "now")
    timeA[num] = new Date();
  else
    timeA[num] = new Date(d);
  formatA[num] = format;
//window.alert(timeA[num]+":"+d);
  if (num == 0)  
    tid=window.setTimeout("doDate()",speed);
  num++;
}

function CountupLong(t,format,len)
{
  document.write('<FORM name=form'+num+'><input name=date size=')
  document.write(len)
  document.write(' value="Loading..."></FORM>')
  start(t,document.forms["form"+num],format);
}


function Countup(t)
{
  CountupLong(t,2,20);
}

</script>
 
 
<script>
  Countup("May 07, 2009 21:15:00",4,35);
</script>
вот функция, запускает таймер, и считает сколько прошло от указанной даты, нужно сделать так что если таймер работает более двух часов то выводится соответсвующая надпись, хэлп

enterwap 07.05.2009 17:14

ну помогите кто нибудь...

Gvozd 07.05.2009 17:29

Если вы сочинили этот код, то для вас не станет проблемой его модифицировать.
а если не вы, то учебник по JS в зубы, и айда разбиратся в коде и править его.
если не хотите сами разбиратся,то будьте готовы раскошелится.
если все же сами хотите его редактировать, то ставьте более конкртеные вопросы

enterwap 07.05.2009 19:38

а что так сложно поставить блок if (...) else ?
я программист на php, в js не очень, ну если тут нет кто поможет бесплатно могу и заплатить

Gvozd 07.05.2009 20:13

про деньги я сказал не к тому, что мне или кому-то сильно нужны пара баксов.
а к тому, что здесь помогают учится.то есть не пишут за вас, а помогают самим написать.
если у вас все же нету желания учится JS-у, то стучитесь ко мне в асю(в профиле).
за чисто символическую плату помогу.
но я бы лучше попытался сам.
сложного в JS-е ничего особо нет, и если вы сядите сами разбиратся, то проблем не должно возникнуть.
мой относительно серьезный JS начался с того, что я накатал за пару суток AJAX-клиент на много сотен строк(кажется под 2000) к серверной части
до этого я на JS-е написал буквально 20 строк или около того.
другое дело, что из-за спешки, я не успел уникнуть в подробности языка, и кое-что пришлось позже переучивать.

enterwap 07.05.2009 22:28

мне сейчас просто не до учебы на js, нужно выполнить данную работу и все, деньги так деньги

enterwap 07.05.2009 23:40

Большое спасибо Gvozd за помошь, более не актуально.


Часовой пояс GMT +3, время: 01:03.