Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Зацикливание функции setTimeout (https://javascript.ru/forum/misc/58835-zaciklivanie-funkcii-settimeout.html)

MininAS 13.10.2015 15:49

Зацикливание функции setTimeout
 
Здравствуйте!
Код:
function ani_hide(elm, i, o, func)
{
	elm.style.opacity =  (o / 100);
	elm.style.filter = 'Alpha(opacity=' + o + ')';
	if (o > 0) {o -= 5; setTimeout ('ani_hide('+elm+', '+i+', '+o+', '+func_');'), i);}
	else setTimeout (func(), 3000);
}

ani_hide(element, 50, 100, function () {flag_DOWN = true;});


Подскажите как правильно оформить функции для запуска в setTimeout.
Первая выдает ошибку. Вторая запускается без задержки.
Спасибо.

рони 13.10.2015 16:11

MininAS,
https://learn.javascript.ru/js-animation

рони 13.10.2015 16:14

caetus,
запускать? :blink:

ruslan_mart 13.10.2015 16:23

MininAS, Вы немного отстали от моды, такое делается через CSS3, и забудьте про filter: alpha.

Советую почитать про transition.

caetus 13.10.2015 16:26

Рони ???
function ani_hide(elm, i, o, func)
{
    // style
    if (o > 0) {o -= 5; setTimeout (function () { ani_hide(elm, i, o, func)}, i);}
    else setTimeout (func, 3000);
}
 
ani_hide(0, 50, 100, function () {flag_DOWN = true;});

рони 13.10.2015 16:33

caetus,
какой смысл запускать когда ничего не происходит визуально

рони 13.10.2015 16:35

Ruslan_xDD,
css не запустит callback

MininAS 13.10.2015 16:54

Цитата:

Сообщение от Ruslan_xDD (Сообщение 391791)
MininAS, Вы немного отстали от моды, такое делается через CSS3, и забудьте про filter: alpha.

Советую почитать про transition.

Я анимирую игру а не меню, поэтому скорее всего CSS3 мне не подойдет.
А по поводу Filter:alpha - представьте, но еще есть пользователи которые используют IE версии < 9-й.

MininAS 13.10.2015 16:55

Цитата:

Сообщение от рони (Сообщение 391796)
Ruslan_xDD,
css не запустит callback

И я про это же.

MininAS 13.10.2015 16:56

Цитата:

Сообщение от рони (Сообщение 391795)
caetus,
какой смысл запускать когда ничего не происходит визуально

Будет происходить обязательно, только вот главное, что бы заработало.


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