PDA

Просмотр полной версии : Новостной раздел, не могу прикрутить функцию к кнопке((


Новичок_
24.12.2008, 23:13
Есть код

//функция загрузки файла

function loadXML(loaded) { //проверяем загрузку файла
if (loaded) { //если загружен
//объявляем переменные
xmlNode = this.firstChild;
date = []; //массив дат новостей
titul = []; //массив заголовков
news = []; //массив новостной информации
total = xmlNode.childNodes.length; //подсчитываем общеее кол-во узлов файла(новостей)
//заполняем эти массивы в цикле:
for (i=0; i<total; i++) {
date[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue; //содержимое тега date
titul[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue; //содержимое тега title
news[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue; //содержимое тега info
}
p=0;
nextNews(0);

} else {
content = "file not loaded!"; //если файл не открыт отображаем сообщение
}
}
xmlData = new XML();//создаем экземпляр объекта XML
xmlData.ignoreWhite = true; // чтобы flash игнорировал путые строки и поля XML файла
xmlData.onLoad = loadXML; //запускаем нашу функцию
xmlData.load("news.xml"); //задаем имя нужного XML файла
//сценарии кнопок "Далее" и "Назад"

previous_but.onPress = function() {
prevNews();
};

next_but.onPress = function() {
nextNews();
};

p = 0; //переменная содержащая текущее положение (нумерация узлов в XML файле с нуля)

//следующая новость
function nextNews() {
if (p<(total-1)) { //если новость не последняя
p++; //увеличили позицию на 1
if (loaded == filesize) { //при полной загрузке
Date_t.text = date[p]; //отображаем информацию в динамические текстовые поля
Title_t.text = titul[p];
News_t.text = news[p];
}
}
}
//предыдущая новость
function prevNews() {
if (p>0) { //если не первое
p--; //уменьшили позицию на 1
Date_t.text = date[p]; //отображаем информацию в динамические текстовые поля
Title_t.text = titul[p];
News_t.text = news[p];
}
}
//отображение первой новости
function firstNews() {
if (loaded == filesize) {
Date_t.text = date[p]; //отображаем информацию в динамические текстовые поля
Title_t.text = titul[p];
News_t.text = news[p];
}
}


Не могу прикрутить функции nextNews, prevNews к кнопкам next_but и previous_but...

Помогите плз...

dimarik
24.12.2008, 23:35
var app:Object = this;
previous_but.onPress = function() {
app.prevNews();
};

либо
previous_but.onPress = function() {
this._parent.prevNews();
};

Новичок_
25.12.2008, 00:03
Не помогло(((

dimarik
25.12.2008, 00:13
сделайте

previous_but.onPress = function() {
trace(this);
prevNews();
};

и

trace(this);
в месте Вашего "Есть код".
Большое подозрение, что кнопки лежат не в том же таймлане, где и код.