Как сделать такую функцыю...
Здраствуйте!
У меня есть функция которая прорисовует div елемент на страницы: function anim(ob, x, dx, t){ if(t<0) return true; document.getElementById(ob).style['top']=x+dx; setTimeout(function(){anim(ob, x, dx, t-1)}, 10);} Например у меня есть код который нужно выполнить: function hhh(){ anim('div',1,1,25); alert('алерт') } Как усовершенствовать функцию anim() чтобы alert('алерт') выполнилась после завершения функции прорисовки на не вовремя того как объект div перемещается по экрану!!! Ну можно сделать от так: function anim(ob, x, dx, t){ if(t<0) aaa(); document.getElementById(ob).style['top']=x+dx; setTimeout(function(){anim(ob, x, dx, t-1)}, 10);} function aaa(){alert('алерт')}; anim('div',1,1,25); Но етот метод очень сложен, может можно как то проще всё это реализовать, потому что при использовании этого метода используется дополнительная функция aaa(). Ну а если нужно использовать большое количество функций anim(), то дополнительных функций нужно очень и очень много!!! |
function anim(ob, x, dx, t,callback){ if(t<0) callback(); document.getElementById(ob).style['top']=x+dx; setTimeout(function(){anim(ob, x, dx, t-1)}, 10);} anim('div',1,1,25,function(){alert('алерт')}); это называется анонимная функция |
Я знаю этот метод... А можно ли так делать чтобы после функции это все делалось?
Например чтобы было на подобие: function hhh(){ var txt; for(var i in document) if(typeof(document[i])=='string') txt+=i+"="+document[i]+"<br>"; return txt} //ну и теперь исполнение hhh(); alert('алерт'); Здесь alert('алерт') выполняется после hhh(), а не вовремя!!! Может можно функцию anim() как то переделать? |
5 за орфографию =)
Чтобы alert выполнялся во время функции вы не думали засунуть его в функцию? И вообще что за бред. Как он может выполнятся во время функции если стоит он позже? |
http://sms9.byethost5.com/test.html
Тут пример! Как зделать чтоб алерт был после виполнения функцыы!!!! А не вовремя!! |
Используйте задержку во времени
|
А лучше используйте событие загрузки.
|
А что куда загружается-то О_о?
|
Ну у него в функции что-то там двигаетсо. И alert должен появитсо только когда это окончательно передвинетсо.
То есть когда функция завершит свою работу. |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 19:56. |