Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 22.01.2010, 16:39
Аватар для Niar
Труъ кодер
Отправить личное сообщение для Niar Посмотреть профиль Найти все сообщения от Niar
 
Регистрация: 20.01.2010
Сообщений: 194

Я еще толком не читал про события но где-то боком слышал о onload. Который срабатывает когда что-то полностью загружено(выполнено).
__________________
http://www.free-lance.ru/users/Nia173 Мой аккуант на free-lance.
Ответить с цитированием
  #12 (permalink)  
Старый 22.01.2010, 16:48
Аватар для sms9
Новичок на форуме
Отправить личное сообщение для sms9 Посмотреть профиль Найти все сообщения от sms9
 
Регистрация: 21.01.2010
Сообщений: 8

Для #6: Ну если я точно не знаю сколько времени должно пройти!
В этой функции да можно вычислить через которое время она завершиться но для других подобных НЕТ!
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);}

Если б не функция setTimeout то можно било бы сделать
так:
function anim(ob, x, dx, t,callback){
if(t<0) callback();
document.getElementById(ob).style['top']=x+dx;
return anim(ob, x, dx, t-1)}

Но при таком раскладе элемент прорисован сначала и в конце своего движения!!!!
Есть ли такая функция в js аналог sleep() в php?
sleep() в PHP делает паузу при выполнении скрипта...
Если есть то она поможет в этом вопросе! Жду Ваших ответом!!!!
Ответить с цитированием
  #13 (permalink)  
Старый 22.01.2010, 16:51
Аватар для sms9
Новичок на форуме
Отправить личное сообщение для sms9 Посмотреть профиль Найти все сообщения от sms9
 
Регистрация: 21.01.2010
Сообщений: 8

При чем тут onload! Я же не загружаю ничего....
Ответить с цитированием
  #14 (permalink)  
Старый 22.01.2010, 16:55
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Вам Gvozd уже написал. Поправить немного надо было, всего-то:
function anim(ob, x, dx, t,callback) { 
    if(t<0) return callback();
    document.getElementById(ob).style['top']=x+dx; 
    setTimeout(function(){anim(ob, x, dx, t-1, callback)}, 10);
} 

anim('div',1,1,25,function(){alert('алерт')});


Niar,
так если боком слышали, зачем советуете? Тем более что onload тут как не пришей ... рукав.
Ответить с цитированием
  #15 (permalink)  
Старый 22.01.2010, 16:58
Аватар для Niar
Труъ кодер
Отправить личное сообщение для Niar Посмотреть профиль Найти все сообщения от Niar
 
Регистрация: 20.01.2010
Сообщений: 194

Виноват. Надо было сначала уточнить точное действие события.
__________________
http://www.free-lance.ru/users/Nia173 Мой аккуант на free-lance.

Последний раз редактировалось Niar, 22.01.2010 в 17:04.
Ответить с цитированием
  #16 (permalink)  
Старый 22.01.2010, 17:18
Аватар для sms9
Новичок на форуме
Отправить личное сообщение для sms9 Посмотреть профиль Найти все сообщения от sms9
 
Регистрация: 21.01.2010
Сообщений: 8

Да я понял про использования callback! Я знал етод метод но не то я хотел...
например нужно мне переместить див с верха экрана в низ, выполнить некоторою функцию, потом переместить его назад и выполнить новою функцию...
если использовать посоветованный вами метод код будет иметь вид:
anim(ob, 150, 2, 15, function(){alert('Привет!'); anim(ob2, 100, -2, 13, function(){alert(2); Ище какаято функцыя...; anim(ob, 150, 2, 7)})})

А мне б хотелось что би не все так запутано било и это же имело такой вид:
anim(ob, 150, 2, 15);
alert('Привет!');
anim(ob2, 100, -2, 13);
alert(2);
Еще какая то функция...;
anim(ob, 150, 2, 7);

Так мне кажется намного проще!!!
Скажет кто то по поводу функцию аналог sleep() в php?
Ответить с цитированием
  #17 (permalink)  
Старый 22.01.2010, 17:20
Аватар для Niar
Труъ кодер
Отправить личное сообщение для Niar Посмотреть профиль Найти все сообщения от Niar
 
Регистрация: 20.01.2010
Сообщений: 194

Вот аналоги php функций в JS http://javascript.ru/php
Про sleep ни чего нету
__________________
http://www.free-lance.ru/users/Nia173 Мой аккуант на free-lance.
Ответить с цитированием
  #18 (permalink)  
Старый 22.01.2010, 17:23
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Реализовавать самому. Можно почитать исходники jQuery, к примеру, там есть query.
Ответить с цитированием
  #19 (permalink)  
Старый 22.01.2010, 17:24
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от sms9
Так мне кажется намного проще!!!
Но так нельзя.

Сообщение от sms9
нужно мне переместить див с верха экрана в низ, выполнить некоторою функцию, потом переместить его назад и выполнить новою функцию...
Поменьше анонимных функций, если не нравится вложенность. И не надо вытягивать код в одну строку, не так страшно будет.
function downUp(downCallback, upCallback) {
    anim(bla, bla, function() {
        downCallback();
        anim(bla, bla, function() {
            upCallback();
        })
    });
}

downUp(function() {
    // ...
}, function() {
    // ...
});


sleep в JavaScript нет и не надо. Хотите писать на JS -- привыкайте к асинхронному коду.
Ответить с цитированием
  #20 (permalink)  
Старый 23.01.2010, 15:27
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Niar,
мне кажется, sms9 может быть вполне украинцем

sms9,
Если Вам нужно, чтобы код выполнился сразу же после завершения потока, используйте setTimeout:
function testInner(){
	alert('Тут мы стартовали');
	setTimeout(function(){alert('Отложенный запуск')}, 0);
	alert('Тут мы закончили');
}

function testOuter(){
	alert('Запускаем внутреннюю функцию');
	testInner();
	alert('Вышли из внутренней функции');
}

testOuter();
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать такую вещь? MCTrane Общие вопросы Javascript 5 26.11.2009 15:38
Вопрос как сделать эту панельку Определённых размеров и свойств. jei jQuery 3 09.06.2009 19:14
Как сделать электронный каталог продукции? natarius Серверные языки и технологии 6 24.05.2009 20:56
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24
Как сделать такую галерею crisco Events/DOM/Window 4 23.12.2008 16:28