Просмотр полной версии : Проблема - не вызывается функция
Не работает код, скорее всего я не вызываю функцию внутри.. немогу найти что не так
var ghostvar = 10;
playGhost = function () {
//
var php_processG:LoadVars = new LoadVars();
var post_variableG:LoadVars = new LoadVars();
post_variableG.string = 1;
post_variableG.sendAndLoad("ghs.php", php_processG, "POST");
php_processG.onLoad = function(success:Boolean) {
if (success) {
ghostvar = php_processG.result;
} else {
ghostvar = "0";
}
};
if (ghostvar != 0) {
tellTarget (_root.ghosts) {
gotoAndPlay(php_processG.result);
}
} else {
}
//
clearInterval(pauseGhost);
};
pauseGhost = setInterval(playGhost, 1000);
playGhost();
2 jollyD:
А ошибки какие-то выдаёт?
Лучше замените
tellTarget (_root.ghosts) {
gotoAndPlay(php_processG.result);
}
на
_root.ghosts.gotoAndPlay(php_processG.result);
Заменил, нет кликаю - пишет всё ок. Тестирую - ничего не показывает... Ума не приложу почему не пашет
нет кликаю - пишет всё ок. Тестирую - ничего не показывает... Ума не приложу почему не пашет
Ничего не понял. Где кликаете?
Так если ничего не показывает, не обязательно, что в коде ошибка. Может оно-то и "пашет", просто не так, как вам хотелось бы. То есть, с точки зрения кода всё может быть ОК, а вот с точки зрения логики или каких-то других сторонних факторов...
Поставьте в разных местах trace'ы, посмотрите, какие строки кода исполняются, какие значения у разных свойств и переменных.
Поставил трейс trace(ghostvar) в if succes и в ghostvar != 0 В одном - значение 10, в другом undefinied
Почему-то не видит php_processG.result
2 jollyD:
Проверьте, возвращает ли ghs.php текстовую строчку вроде:
result=...
в самом php прописано echo"result=$calc"; переменная $calc существует...
2 jollyD:
А, погодите, так у вас неверно написано всё...
Этот код:
if (ghostvar != 0) {
tellTarget (_root.ghosts) {
gotoAndPlay(php_processG.result);
}
} else {
}
нужно вставить в обработчик onLoad после
ghostvar = php_processG.result;
А то у вас выходит, что вы только начали загружать результат работы скрипта, а уже обращаетесь к ghostvar.
Вы имеете в виду так:?
var ghostvar = 10;
playGhost = function () {
//
var php_processG:LoadVars = new LoadVars();
var post_variableG:LoadVars = new LoadVars();
post_variableG.string = 1;
post_variableG.sendAndLoad("ghs.php", php_processG, "POST");
php_processG.onLoad = function(success:Boolean) {
if (success) {
ghostvar = php_processG.result;
if (ghostvar != 0) {
_root.ghosts.gotoAndPlay(php_processG.result);
trace(ghostvar);
} else {
}
trace(ghostvar);
} else {
ghostvar = "0";
}
};
//
clearInterval(pauseGhost);
};
pauseGhost = setInterval(playGhost, 5000);
playGhost();
Работает, теперь проблема что оно обновляется только при перезагрузке в браузере...
Задумывалось, чтоб этот код циклически обращался к php скрипту, брал переменные и подставлял их.. Можно как-то обойтись без перезагрузки? К тому же ручной!
2 jollyD:
Так вы же сами убиваете свой таймер в playGhost:
clearInterval(pauseGhost);
Вот и выполняется оно всего 1 раз.
2 jollyD:
Так вы же сами убиваете свой таймер в playGhost:
clearInterval(pauseGhost);
Вот и выполняется оно всего 1 раз.
Хемуль, спасибо большое, что помог разобраться! :drinks: Всё работает как часы!!! :wacko:
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.