|
|
|
| как сделать таймер типо табличка например ему вбиваем дату : 2 дня, и он начинает обратный отсчет и чтобы при обновлении страницы он продолжал свой отсчет а не обнулялся. Очень нужно. подскажите с чего начать или где можно скачать? спасибо! | |
|
|
| |
|
|
|
|
для: cheops
(10.02.2011 в 07:45)
| | нет! мне нужно руками вводить дату отсчета а не так что она уже есть в скрипте.
Что то вроде этого но надо чтобы был : день, час, мин, сек,
и чтобы при повторном заходе на страницу(при обновлении) таймер не сбивался а продолжал отсчет.
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var up,down;var min1,sec1;var cmin1,csec1,cmin2,csec2;
function Minutes(data) {
for(var i=0;i<data.length;i++)
if(data.substring(i,i+1)==":")
break;
return(data.substring(0,i));
}
function Seconds(data) {
for(var i=0;i<data.length;i++)
if(data.substring(i,i+1)==":")
break;
return(data.substring(i+1,data.length));
}
function Display(min,sec) {
var disp;
if(min<=9) disp=" 0";
else disp=" ";
disp+=min+":";
if(sec<=9) disp+="0"+sec;
else disp+=sec;
return(disp);
}
function Up() {
cmin1=0;
csec1=0;
min1=0+Minutes(document.sw.beg1.value);
sec1=0+Seconds(document.sw.beg1.value);
UpRepeat();
}
function UpRepeat() {
csec1++;
if(csec1==60) {
csec1=0; cmin1++;
}
document.sw.disp1.value=Display(cmin1,csec1);
if((cmin1==min1)&&(csec1==sec1))
alert("Stopwatch Остановлены");
else up=setTimeout("UpRepeat()",1000);
}
function Down() {
cmin2=1*Minutes(document.sw.beg2.value);
csec2=0+Seconds(document.sw.beg2.value);
DownRepeat();
}
function DownRepeat() {
csec2--;
if(csec2==-1) {
csec2=59; cmin2--;
}
document.sw.disp2.value=Display(cmin2,csec2);
if((cmin2==0)&&(csec2==0))
alert("Countdown Stopped");
else down=setTimeout("DownRepeat()",1000);
}
// End -->
</SCRIPT>
<BODY>
<CENTER>
<FORM name="sw">
<TABLE border="0" width="100%">
<tr align="center">
<td><table border="3" width="100%"><tr>
<th colspan="2">Остановить</th></tr>
<tr align="center">
<td>Остановить в<br>
<input type="text" name="beg1" size="7" value="0:10"></td>
<td><input type="button" value="Старт" onclick="Up()"></td>
</tr>
<tr align="center"><td colspan="2">
<input type="text" name="disp1" size="7"></td></tr></table></td>
<td>
<input type="button" value="Начать" onclick="Up();Down()">
</td>
<td>
<table border="3" width="100%">
<tr align="center">
<td>Начать в<br><input type="text" name="beg2" size="7" value="0:10"></td> <td><input type="button" value="Старт" onclick="Down()"></td>
</tr>
<tr align="center"><td colspan="2">
<input type="text" name="disp2" size="7"></td></tr></table></td></tr>
</TABLE>
</FORM>
</CENTER> | |
|
|
|
|
|
|
|
для: Denisich84
(10.02.2011 в 09:23)
| | При установке даты вбивайте её через поле ввода, и заносите её в кук при каждом обновлении счетчика, при перезагрузке страницы снова считайте её из кукав и продолжайте отсчет | |
|
|
|
|
|
|
|
для: Denisich84
(10.02.2011 в 09:23)
| | >"мне нужно руками вводить дату отсчета а не так что она уже есть в скрипте.
Что то вроде этого но надо чтобы был : день, час, мин, сек,
и чтобы при повторном заходе на страницу(при обновлении) таймер не сбивался а продолжал отсчет."
Реализовать ЛЕГКО.
Только задача требует уточнения.
1. Зашли Вы первый раз на эту страницу. Увидели там четыре ПУСТЫЕ поля (день, час, мин, сек) и кнопку "Запустить обратный отсчёт"
2. Ввели вы РУКАМИ эти самые день=2, час=2, мин=0, сек=0 и нажали кнопку "запустить".
3. Таймер начал отсчитывать, уменьшая общее введенное время.
ПОКА это всё просто и понятно
4. Зашли именно Вы (не кто-то другой, а Вы, причем с того же компа) на эту же страницу ровно через час. И увидели на таймере день=2, час=1, мин=0, сек=0 (сиречь, на один час общее заданное время уменьшилось). Так?
---> Но тогда есть ВОПРОС: а что с кнопкой "запустить обратный отсчет", её уже показывать не надо?
Или нужна другая кнопка - "остановить отсчёт", по нажатии на которую все поля обнуляются и снова появляется кнопка "запустить обратный отсчет"? Или как-то по-другому?
--->И ещё есть ВОПРОС: а что показать Вам, когда Вы зайдёте на страницу через 3 дня, т.е. когда таймер закончит свой отсчет? Надпись - "Пшёл на фиг, твоё время вышло!" - или что-то другое?
---> Или, может быть, я Вас совсем неправильно понял, и Вам надо, чтобы обратный отсчёт работал только во время нахождения пользователя на странице? Сиречь, установили Вы день=2, час=2, мин=0, сек=0, запустили отсчёт и посидели на странице ровно полчаса - перед уходом со страницы у Вас таймер показывает день=2, час=1, мин=30, сек=0. Зайдете Вы потом через день, через неделю или через месяц - надо, чтобы таймер как бы "ожил" и стал снова считать, начиная с день=2, час=1, мин=30, сек=0?
Вы определитесь.
ТОЧНО и КОНКРЕТНО ответьте на вопросы (где стрелочки) - тогда, видимо, смогу помочь.
-----
PS. Подразумевается, что обратный отсчёт будет работать исключительно для одного пользователя (одного компьютера). Т. е., у всех других пользователей будут либо свои начальные пустые поля для заполнения, либо какой-то свой собственный отчет (если они таймер уже запустили).
Если Вам надо как-то ИНАЧЕ - то сразу посылаю Вас на форум PHP: установка ОБЩЕГО для всех времени - это в принципе СЕРВЕРНАЯ задача, причём надо будет чётко разделить пользователей на "администраторов" (которые смогут "запускать" и "корректировать") и "всех остальных", которые будут только наблюдать за уменьшающимся временем. Javascript тут тоже нужен будет, но - уже только для оформления таймера, а никак не для установки и для поддержания "состояния отсчёта" - это приниципиально иная задача, чем та, которая пока "вырисовывается" из Ваших не очень внятных разъяснений. | |
|
|
|
|
|
|
|
для: Абырвалг
(10.02.2011 в 09:56)
| | 4. Зашли именно Вы (не кто-то другой, а Вы, причем с того же компа) на эту же страницу ровно через час. И увидели на таймере день=2, час=1, мин=0, сек=0 (сиречь, на один час общее заданное время уменьшилось). Так?
А можно сделать чтобы с разных компов? Если нет то нет! Ну а так все верно!
Задача.
Есть табличка. Два пользователя Ваня и Петя на одном компе (если можно чтобы зашел с другого компа таймер не сбился для обоих).
- Вот зашел Ваня на страничку перешел по ссылке в таблице на сайт №1, поставил таймер например - 1 день, 0 часов, 0 мин, 0 сек т.е. по истечении этого времени ему надо опять перейти на этот сайт т.е. он просто установил таймер и переодически заходит и смотрит когда таймер обнулится.
- потом ему надо зайти на сайт № 2 и тоже установить свой таймер для этого сайта например - 2 дня, 0 часов, 0 мин, 0 сек. Сайтов может быть много и для каждого свой таймер.
- потом заходит Петя с этого же компа на эту же страницу переходит по тем же сайтам из таблицы и устанавливает уже свои таймеры.
- По истечении времени они просто опять устанавливают таймеры.
пример:
<table border="1" width="52%">
<tr>
<td width="193">
<p align="center">Наименование</td>
<td align="center">Ваня</td>
<td align="center">Петя</td>
</tr>
<tr>
<td width="193">1)<span lang="ru"> сайт № 1 <a href="http://ya.ru/">ya.ru</a></span></td>
<td align="center">таймер</td>
<td align="center">таймер</td>
</tr>
<tr>
<td width="193"><span lang="ru">2) сайт №2 <a href="http://ya.ru/">ya.ru</a></span></td>
<td align="center">таймер</td>
<td align="center">таймер</td>
</tr>
</table>
---> Но тогда есть ВОПРОС: а что с кнопкой "запустить обратный отсчет", её уже показывать не надо?
Или нужна другая кнопка - "остановить отсчёт", по нажатии на которую все поля обнуляются и снова появляется кнопка "запустить обратный отсчет"?
кнопку "запустить обратный отсчет", её уже показывать не надо!
Нужна другая кнопка - "остановить отсчёт", по нажатии на которую все поля обнуляются и снова появляется кнопка "запустить обратный отсчет"
--->И ещё есть ВОПРОС: а что показать Вам, когда Вы зайдёте на страницу через 3 дня, т.е. когда таймер закончит свой отсчет? Надпись - "Пшёл на фиг, твоё время вышло!" - или что-то другое?
Можно показать сколько времени прошло с того момента когда счетчик дошел до нуля но другим цветом) | |
|
|
|
|
|
|
|
для: Denisich84
(10.02.2011 в 13:41)
| | Вас просили КОНКРЕТНО и ТОЧНО ответить на вопросы.
А Вы что сделали?
Стали рассказывать какой-то бред о том, что у Вас на ОДНОМ компе два пользователя...
Про бабку, дедку, Жучку и внучку написать не забыли? :-)
"Правильно поставленный вопрос - половина ответа"(с).
Лично я (и, полагаю, абсолютное большинство прочитавших) - ни фига не поняли: чего же в конце-концов вам надо. То один комп, то один, но много пользователей и тут же - много компов и много пользователей; то одна табличка на страничке, то, теперь, куча страничек (и даже сайтов) - и везде таблички...
Вы родите, наконец, ОДНУ мысль. И про неё - напишите.
А покуда многочисленные Ваши проекции в Вашей голове борются, мы отдохнём, ладно? :-)
Когда мысль родите, опишите свою задачу и дайте почитать это описание кому-нить из домашних.
А потом попросите их объяснить - как именно они представляют то, что Вы хотели этим описанием сделать. Сами увидите, что НИКТО этот бред,кроме Вас, понять не в состоянии. Потому исправьте и дополните своё описание ТАК, чтобы хоть кто-то смог понять.
Честное слово, я постараюсь... | |
|
|
|
|
|
|
|
для: Абырвалг
(10.02.2011 в 14:22)
| | Один пользователь, 2 компа, чтобы с обоих компов смотреть на одну страницу и чтобы таймер не сбивался!!!
вот такая таблица должна быть тока с рабочими таймерами:
<table border="1" width="65%">
<tr>
<td width="193">
<p align="center">Наименование</td>
<td align="center">Ваня</td>
<td align="center">Петя</td>
</tr>
<tr>
<td width="193">1)<span lang="ru"> сайт № 1 <a href="http://ya.ru/">ya.ru</a></span></td>
<td align="center">
<form method="POST" action="--WEBBOT-SELF--">
<p><input type="text" name="T1" size="14" value="02 д 10:20:05 "><span lang="ru"> </span>
<input type="button" value="отсчет" name="B3"></p>
</form>
</td>
<td align="center"><input type="text" name="T3" size="14" value="01 д 16:40:05 "><span lang="ru"> </span>
<input type="button" value="отсчет" name="B5"></td>
</tr>
<tr>
<td width="193"><span lang="ru">2) сайт №2 <a href="http://ya.ru/">ya.ru</a></span></td>
<td align="center"><input type="text" name="T2" size="14" value="03 д 20:30:05 "><span lang="ru"> </span>
<input type="button" value="отсчет" name="B4"></td>
<td align="center"><input type="text" name="T4" size="14" value="00 д 01:50:05 "><span lang="ru"> </span>
<input type="button" value="отсчет" name="B6"></td>
</tr>
</table> | |
|
|
|
|
|
|
|
для: Denisich84
(10.02.2011 в 14:33)
| | >"Один пользователь, 2 компа"
Он, этот "один пользователь", теперь у Вас бегает из комнаты в комнату, чтобы с разных компов на одну страницу посмотреть? Физкультурник, что ли?:-)
В общем, так, чтобы Вы больше не мучались:
1. Момент начала отсчёта и его продолжительность необходимо где-то СОХРАНИТЬ.
2. Это можно сделать либо на ОДНОМ КОНКРЕТНОМ КОМПЬЮТЕРЕ (в куках), либо - НА СЕРВЕРЕ (в файле или в базе данных).
3. В первом случае (если сохранить в куках) - значение отсчёта будет доступным лишь ЭТОМУ КОМПЬЮТЕРУ. Кто там за этим компом будет: дядя Фёдор, кот Матроскин или пёс Шарик - неважно. Любой пользователь именно этого компьютера может запускать отсчёт, останавливать его и просто наблюдать, как часики тикают.
4. Во втором случае (если сохранить на сервере) - у ВСЕХ компьютеров мира, с которого зайдут на эту страницу, будет одно и тоже значение отсчёта.
5. Для реализации написанного в п. 4 необходимо использовать серверный язык (PHP, к примеру). И - ОБЯЗАТЕЛЬНО - надо определиться с "правами": какие конкретно люди В МИРЕ могут "устанавливать время", а какие - не могут. С "правами": можно или с помощью логина/пароля. Тогда знающий логин/пароль может с любого компьютера мира зайти и переустановить. Либо можно "права" привязать к конкретному компьютеру (по IP его, например) - тогда только с этого конкретного компа и дедка, и Жучка могут изменить условия. | |
|
|
|
|
|
|
|
для: Абырвалг
(10.02.2011 в 16:01)
| | 2. Это можно сделать либо на ОДНОМ КОНКРЕТНОМ КОМПЬЮТЕРЕ (в куках)
Сделай для одного компа одного пользователя!!! | |
|
|
|
|
|
|
|
для: denisich84
(11.02.2011 в 05:28)
| | как дело дошло до скрипта сразу затих! | |
|
|
|
|
|
|
|
для: Denisich84
(12.02.2011 в 09:44)
| | Смотрите http://langmilhist.far.ru/tim.html
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Абырвалг
(12.02.2011 в 12:06)
| | Спасибо!) | |
|
|
|
|
|
|
|
для: Denisich84
(12.02.2011 в 12:44)
| | Это все хорошо) А как сделать несколько таймеров на одной странице? Как то не хочется для каждого таймера переписывать этот скрипт. Нельзя как то скрипт закинуть в отдельный файл и чтобы таймеры обращались к этому скрипту? | |
|
|
|
|
|
|
|
для: Denisich84
(12.02.2011 в 21:43)
| | ??? | |
|
|
|
|
|
|
|
для: Denisich84
(12.02.2011 в 21:43)
| | То что вы тут хотите - это работа программиста. То есть, ваша. Если вы не можете ее сделать и расчитываете что вашими руками ее сделают местные программисты, то вы ошибаетесь. Очень редко программисты любят делать что-то чужими руками да еще бесплатно.
Закажите нужный вам скрипт у профессионала, отдайте немного денег и все будет в более короткие сроки и в нужном вам виде и без нервотрепки.
Сейчас же очевидно что вы не понимаете ничего из того, что должен понимать программист, решая подобную задачу. И учиться не хотите. А хотите готовое решение. Готового типового решения, на которое можно дать ссылку нет. Поэтому готовое решение должно изготавливаться. Специально для вас. А это стоит денег. | |
|
|
|
|
|
|
|
для: SHAman
(21.02.2011 в 13:19)
| | не много это сколько? | |
|
|
|
|
|
|
|
для: Denisich84
(21.02.2011 в 13:44)
| | Зависит от того, кто будет вам это делать, разумеется. Софттайм, к примеру - вебстудия. Думаю, если вы напишете им и спросите сколько будет стоить выполнение работ по задаче, описанной здесь, они вам скажут.
В зависимости от загрузки, квалификации и прочих условий цена может варьироваться довольно сильно. Но всяко это будет дешевле и проще, чем мурыжить задачку на форуме.
Вы сами видите что интерес к этой теме угас. Знаете почему? Потому что нет четкого технического вопроса. Люди тут сами выдумывали себе вопросы и сами на них отвечали. Но это вам не подходит, потому что вам ничего не даст технический ответ. Вам нужен ответ "это вставить сюда, здесь написать это и вуаля". То есть, руководство по установке уже готового решения. | |
|
|
|
|