Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 29.06.2013, 23:59
Интересующийся
Отправить личное сообщение для Aeliot Посмотреть профиль Найти все сообщения от Aeliot
 
Регистрация: 18.05.2013
Сообщений: 22

vadim5june, спасибо
Ответить с цитированием
  #22 (permalink)  
Старый 30.06.2013, 00:03
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

vadim5june,
Симпатично, но для полного счастья(полноценного API) - интересно возможность динамического добавления/cнятие/изъятия пунктов,
И думаю - формат отображалки - отдельной подключаемой функцией
Ответить с цитированием
  #23 (permalink)  
Старый 30.06.2013, 00:28
Интересующийся
Отправить личное сообщение для Aeliot Посмотреть профиль Найти все сообщения от Aeliot
 
Регистрация: 18.05.2013
Сообщений: 22

vadim5june,
А можно, чтобы не просто счётчик 1, 2, 3...
а чтобы время указывалось.
Ответить с цитированием
  #24 (permalink)  
Старый 30.06.2013, 00:55
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от Deff
Симпатично, но для полного счастья(полноценного API) - интересно возможность динамического добавления/cнятие/изъятия пунктов,
И думаю - формат отображалки - отдельной подключаемой функцией
Ну да-согласен-если есть время напиши
Сообщение от Aeliot
А можно, чтобы не просто счётчик 1, 2, 3...
а чтобы время указывалось.
это время в секундах-нужно написать-а легче найти 2 функции-из секунд-в дни часы минуты-и 2 я функция обратная
и вставить
тогда будет примерно так осталось 2дня 12 часов 34мин 34сек
Ответить с цитированием
  #25 (permalink)  
Старый 30.06.2013, 01:04
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Deff
для полного счастья(полноценного API) - интересно возможность динамического добавления/cнятие/изъятия пунктов,
хотя бы чтобы он останавливался, когда все задачи выполнены
Ответить с цитированием
  #26 (permalink)  
Старый 30.06.2013, 01:14
Интересующийся
Отправить личное сообщение для Aeliot Посмотреть профиль Найти все сообщения от Aeliot
 
Регистрация: 18.05.2013
Сообщений: 22

Если я правильно понимаю, то распарсить вариант "2дня 12 часов 34мин 34сек", чтобы получить время в секундах будет проблематично. Значит используемое время для дедлайна и отображаемое пользователю должны быть внутри разных тегов.

Только у меня ни как не получается взять время из одного тега и положить в другой.

Ни то, чтобы я не знал как это делается (сделать выборку тегов и перебрать их я умею), но что-то не выходит.

Последний раз редактировалось Aeliot, 30.06.2013 в 01:17.
Ответить с цитированием
  #27 (permalink)  
Старый 30.06.2013, 01:23
Интересующийся
Отправить личное сообщение для Aeliot Посмотреть профиль Найти все сообщения от Aeliot
 
Регистрация: 18.05.2013
Сообщений: 22

страница имеет такой код:
<span class="timer-wrp"><span class="time_in">15</span>[<span class="time_out"></span>]</span>


Для начала, так переписал предложенный скрипт:
setInterval(function() {
	myTimer()
}, 1000)

function myTimer() {
	var els = document.querySelectorAll('.timer-wrp');
	for ( var i = 0; i < els.length; i++) {
		
		var el_in = els[i].querySelectorAll('.time_in');
		var el_out = els[i].querySelectorAll('.time_out');
		
		var t = el_in.innerHTML;

		if (t == 0)
			continue;
		t--;

		el_in.innerHTML = t;
		el_out.innerHTML = t;
	}
}


Но почему-то не находит нужных элементов.

Последний раз редактировалось Aeliot, 30.06.2013 в 01:28.
Ответить с цитированием
  #28 (permalink)  
Старый 30.06.2013, 01:43
Интересующийся
Отправить личное сообщение для Aeliot Посмотреть профиль Найти все сообщения от Aeliot
 
Регистрация: 18.05.2013
Сообщений: 22

Как взять и положить значение разобрался
setInterval(function() {
	myTimer()
}, 1000)

function myTimer() {
	var els = document.querySelectorAll('.timer-wrp');
	for ( var i = 0; i < els.length; i++) {
		var el_in = els[i].querySelectorAll('.time_in');
		var el_out = els[i].querySelectorAll('.time_out');
		
		var t = el_in[0].innerHTML;

		if (t == 0)
			continue;
		t--;

		el_in[0].innerHTML = t;
		el_out[0].innerHTML = t;
	}
}


копаюсь дальше
Ответить с цитированием
  #29 (permalink)  
Старый 30.06.2013, 02:28
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

вот здесь нашел функцию преобразования
http://snippets.artvolk.sumy.ua/view...-na-javascript
с ней так получается
<!DOCTYPE HTML>
<html>
<table border=1 width=100%>
<tr><td>пожарить блины</td><td 

class='time'>125</td></tr>
<tr><td>заварить чай</td><td 

class='time'>81</td></tr></table>
<script>
setInterval(function(){var els=document.querySelectorAll('.time');
for(var i=0;i<els.length;i++)
{if(!els[i].t)els[i].t=els[i].innerHTML;var t=els[i].t;if(t==0)continue;t--;els[i].innerHTML=toFormattedTime(t,1,1);els[i].t=t;if(t==0){alert(els[i].parentNode.querySelector('td').innerHTML);els[i].parentNode.style.background='red';}}
},1000);
//-------
function toFormattedTime(input, withHours, roundSeconds)
{if (input<=0)return '00:00:00';
    if (roundSeconds)
    {
        input = Math.ceil(input);
    }

    var hoursString = '00';
    var minutesString = '00';
    var secondsString = '00';
    var hours = 0;
    var minutes = 0;
    var seconds = 0;

    hours = Math.floor(input / (60 * 60));
    input = input % (60 * 60);

    minutes = Math.floor(input / 60);
    input = input % 60;

    seconds = input;

    hoursString = (hours >= 10) ? hours.toString() 

: '0' + hours.toString();
    minutesString = (minutes >= 10) ? 

minutes.toString() : '0' + minutes.toString();
    secondsString = (seconds >= 10) ? 

seconds.toString() : '0' + seconds.toString();

    return ((withHours) ? hoursString + ':' : '') 

+ minutesString + ':' + secondsString;
}

</script>
Ответить с цитированием
  #30 (permalink)  
Старый 30.06.2013, 02:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Aeliot,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
<span class="timer-wrp"><span class="time_in">15</span>[<span class="time_out"></span>]</span>
 <script>
  setInterval(function() {
	myTimer()
}, 1000)
function myTimer() {
	var els = document.querySelectorAll('.timer-wrp');
	for ( var i = 0; i < els.length; i++) {
		var el_in = els[i].querySelector('.time_in');
		var el_out = els[i].querySelector('.time_out');
		var t = el_out.innerHTML||+el_in.innerHTML+1;
        if (t == 0)continue;
        t--;
        el_out.innerHTML = t;
	}
}
</script>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Много таймеров на одной странице pimple2006 Элементы интерфейса 21 27.10.2015 08:06
Несколько таймеров на одной странице. Pothead Общие вопросы Javascript 1 27.05.2013 08:24
Несколько версий JQuery UI на одной странице. Casufi jQuery 2 10.11.2012 15:24
Как сделать 2 галереи JQuery на одной странице? orendzi jQuery 8 16.07.2011 15:22
Два одинаковых сценария на одной странице Genetics Общие вопросы Javascript 7 12.07.2009 01:46