PDA

Просмотр полной версии : Загрузка xml c помощью setInterval


Orb
17.02.2010, 15:47
Доброго времени
функция onLoad загружает из xml текст, при открытии флешки, мне нужно чтобы по setInterval флешка обращалсь к xml за новой порцией данных. но почему то setInterval не отрабатывает


function loadXML(loaded) {

if (loaded) {
var nodes = my_xml.firstChild.childNodes
for (i=0; i<nodes.length; i++) {

var t = home.attachMovie("message","message"+i,i+1);
t._x=140;
t._y+=t._height*(i+0.5);

if(nodes[i].attributes.category=="vip")
{
t.my_vip.visible=false;
//trace(t.my_vip.visible);

}
t.my_nik.text=nodes[i].childNodes[0].firstChild.nodeValue;
t.my_text.text=nodes[i].childNodes[1].firstChild.nodeValue;

}//end for
clearInterval(IDInterval);
}


}
intervalId=setInterval(loadXML, 2000);
my_xml.onLoad =loadXML;

Подскажите почему setInterval не отрабатывает или не правильно отрабатывает

И второй вопрос

if(nodes[i].attributes.category=="vip")
{
t.my_vip.visible=false; // почему объект не скрывается
//trace(t.my_vip.visible);

}

если атрибут равен vip, почему объект не скрывается t.my_vip.visible=false;
я уже и hide() пробывал, или ему нужно альфу в 0 ставить и только тогда скроется?

Сорри, а альфой работает, почему то я раньшене догодался, а вот просто интересно почему с visible=false не работает?

lexa2000lexa
17.02.2010, 16:09
по первому вопросу вы же интервал убиваете после первой загрузки.
по второму вопросу не visible а _visible.

udaaff
17.02.2010, 16:10
А начерта вам там setInterval, вообще?

Orb
17.02.2010, 16:22
просто другого способа получения данных, через некоторый промежуток времения, я незнаю

Добавлено через 2 минуты
по первому вопросу вы же интервал убиваете после первой загрузки.

убрал строчку, где я убиваю интервал, все равно не обнавляется

udaaff
17.02.2010, 16:25
var xml:XML = new XML();
xml.onLoad = xml_onLoadHandler;
xml.ignoreWhite = true;
xml.load("test.xml");

function xml_onLoadHandler(success:Boolean):Void
{
//
}

Данные получать нужно в обработчике события загрузки.

Orb
17.02.2010, 16:31
так у меня точно такой же код

var my_xml:XML=new XML(); //создание экземпляра
my_xml.ignoreWhite=true; //игнорирование пустых строчек
my_xml.load("c:\\text.xml");
function loadXML(loaded) {
//ну далее мой код, приведенный выше
}
my_xml.onLoad =loadXML;