Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Совершение действия через опредилённое время. (https://javascript.ru/forum/misc/16616-sovershenie-dejjstviya-cherez-oprediljonnoe-vremya.html)

(Sandr) 15.04.2011 00:20

Совершение действия через опредилённое время.
 
Всем привет) Не могли бы вы подсказать как сделать так, чтоб нужная функция запустилась после выполнения какого-либо действия через указаное время n раз? Например, после нажатия на кнопку через 5 секунд появляется алерт.
Знаю функцию setInterval('func()',1000); но она не подходит, т.к. выполняет действие постоянно.


И ещё вопросец.. Как сделать отображение результатов загрузки файла на сервер? Т.е. после того как я начал грузить файл на сервер отображается количество загружённых килобайт этого файла.

FINoM 15.04.2011 02:18

// вот так удаляется интервал
var interval = setInterval(func,1000);
clearInterva(interval);

ksa 15.04.2011 09:05

Цитата:

Сообщение от (Sandr)
как сделать так, чтоб нужная функция запустилась после выполнения какого-либо действия через указаное время n раз?

Как вариант...

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
</style>
<script type="text/javascript">
var max=5
var pause=200
var item=0
function Go() {
	item+=1
	document.getElementById('txt').innerHTML=item
	if (item==max) {
		item=0
	} else {
		setTimeout(Go,pause)
	}
}
</script>
</head>
<body>
<p id='txt'></p>
<input type='button' value='Go' onclick='setTimeout(Go,pause)' />
</body>
</html>

(Sandr) 15.04.2011 12:26

Спасибо) А что насчёт второго вопроса? Это вообзе можно реализовать на js (jQuery, Ajax) ?

ksa 15.04.2011 12:49

Цитата:

Сообщение от (Sandr)
Это вообзе можно реализовать на js

Я таких примеров не встречал...

walik 15.04.2011 12:59

JQuery Status Bar ?

(Sandr) 15.04.2011 13:43

Цитата:

Сообщение от walik (Сообщение 100753)

не то(( Видимо, вы меня не совсем правильно поняли. Например, когда вы скачиваете файл в браузере, то там отображается шкала состояния загрузки этого файла. Вот мне нужно тоже самое, только когда я выгружаю файл на сервер через форму.

Serg_pnz 15.04.2011 14:22

Цитата:

Сообщение от (Sandr) (Сообщение 100708)
И ещё вопросец.. Как сделать отображение результатов загрузки файла на сервер? Т.е. после того как я начал грузить файл на сервер отображается количество загружённых килобайт этого файла.

http://mootools.net/forge/p/wnz_uploader
http://mootools.net/forge/p/uploadmanager - этот пример поддерживает даже драг&дроп, в частности с тоткомандер на поле для загрузки

(Sandr) 15.04.2011 14:45

Цитата:

Сообщение от Serg_pnz (Сообщение 100766)
http://mootools.net/forge/p/wnz_uploader
http://mootools.net/forge/p/uploadmanager - этот пример поддерживает даже драг&дроп, в частности с тоткомандер на поле для загрузки

Первый пример работает, но комментариев к коду я не нашёл(( Может статья есть по этому скрипту?

Serg_pnz 15.04.2011 14:46

Скачай, каменты в архиве.

(Sandr) 15.04.2011 15:52

Цитата:

Сообщение от Serg_pnz (Сообщение 100771)
Скачай, каменты в архиве.

В общем, даже с комментариями в архиве не всё ясно. Но всё равно спасибо))



Возник небольшой вопрос.. почему, когда я пишу так setTimeout(Go(),2000) то ничего не работает. Но если пишу так setTimeout(Go,2000) то всё норм.

(Sandr) 15.04.2011 16:38

И как тогда можно передать какие-то значения в функцию, если нельзя скобки писать?

ksa 15.04.2011 16:56

Цитата:

Сообщение от (Sandr)
как тогда можно передать какие-то значения в функцию

Пример есть даже в местном справочнике...

function set_active(cat)
{
	setTimeout(function(){
        //Делаем что-нибудь... Изменяем какую-либо величину
	if(/* Если величина подходит */)
        setTimeout(function(){set_active(cat);},10);
				      },60);
}

http://javascript.ru/setTimeout

(Sandr) 15.04.2011 17:09

Цитата:

Сообщение от ksa (Сообщение 100800)
Пример есть даже в местном справочнике...

function set_active(cat)
{
	setTimeout(function(){
        //Делаем что-нибудь... Изменяем какую-либо величину
	if(/* Если величина подходит */)
        setTimeout(function(){set_active(cat);},10);
				      },60);
}

http://javascript.ru/setTimeout


Я читал, но показалось как-то всё запутано. Но у меня несколько другая ситуация. У меня есть функция в подключаемом файле
function clear(id)
{
document.getElementById(id).innerHTML='';
}
и из setTimeout мне нужно этой функции передать значение.

ksa 15.04.2011 21:44

Цитата:

Сообщение от (Sandr)
у меня несколько другая ситуация

И в чём же она другая? :)

Цитата:

Сообщение от (Sandr)
из setTimeout мне нужно этой функции передать значение

Как вариант...

var id='нужный_ID'
setTimeout(function(){clear(id)},10)
function clear(Id)  {
   alert(Id)
 }

(Sandr) 15.04.2011 23:40

Как раз об этом способе подумал) Но всё равно, спасибо)


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