Прочитав несколько постов об этом, я многому научился и теперь хочу поделиться этим со всеми вами.
Flash теперь является просто функцией отображения. В ходе процесса я прочитал материалы других людей и почувствовал, что пейджинг, похоже, имеет очень простой способ реализовать его.
В основном он передается с помощью xml.
Для отображения можно использовать как компоненты списка, так и сетку данных. Я использую здесь динамический текст, потому что считаю, что использовать компоненты слишком затруднительно.
Поэтому я применил дурацкий метод, другого способа не было, лучшего я не нашел~~~
Список[..] в приведенном ниже коде — это имя динамического текста, одновременно отображается 15 элементов.
//Программа отображения выглядит следующим образом:
//Имя кадра "список"
останавливаться();
вар logList = новый XML();
вар logroot;
вар страница: Число; // Текущая страница
var Tpage:Number //Сохраняем всю страницу
var Tnum:Number //Общее количество журналов
var logname:String; //Имя категории журнала
вартемп;
var i:Number;
//Здесь я использую массив для хранения соответствующего идентификационного номера. Если вы используете компоненты, вам не нужно так хлопотно.
var ids = new Array(15);
//Две кнопки для перелистывания страниц;
bn_u.enabled = ложь;
bn_d.enabled = ложь;
if (страница == null или страница<1) {
страница = 1;
}
//-----------------------------
//Очистить функцию;
функция myclear() {
для (я=1; я<16; я++) {
идентификаторы [я-1] = 0;
список["lbn"+i]._visible = false;
список["ltitle"+i].text = "";
список["lauthor"+i] = "";
список["ltime"+i] = "";
}
}
//-----------------------------------------
//-----------------------------------------
мойочистить();
pageInfo.text = "Чтение данных...";
logList.ignoreWhite = правда;
logList.load("Tree_list.asp?log_cat="+cat_id+"&page="+page);
//------------------------------------------------
//функция получения данных
функция logFunc(e) {
если (е) {
logroot = logList.firstChild;
имя_журнала = logroot.attributes.имя_журнала;
Tpage = logroot.attributes.Tpage;
Тнум = logroot.attributes.Tnum;
temp = logroot.firstChild;
list.ltitle1.text = Ftitle(temp.firstChild.nodeValue, 22);
list.lauthor1 = temp.attributes.author;
list.ltime1 = temp.attributes.Addtime;
ids[0] = temp.attributes.id;
я = 1;
list.lbn1._visible = правда;
//Цикл для чтения узлов
while (temp.nextSibling != null) {
temp = temp.nextSibling;
я++;
//Если отображается по-другому, просто измените его.
ids[i-1] = temp.attributes.id;
список["lbn"+i]._visible = true;
list["ltitle"+i].text = Ftitle(temp.firstChild.nodeValue, 22);
список["lauthor"+i] = temp.attributes.author;
список["ltime"+i] = temp.attributes.Addtime;
}
pageInfo.text = logname+"Всего журналов"+Tnum+"Всего статей"+Tpage+"Текущая страница: "+page+"page"+"15/page";
bn_u.enabled = правда;
bn_d.enabled = правда;
} еще {
pageInfo.text = "На данный момент журналов нет.";
list.ltitle1.text = "Ошибка чтения данных, обратитесь к администратору!";
}
}
//Функция заголовка пользовательского формата, опасающаяся, что заголовок слишком длинный
функция Ftitle(s, n) {
если (длина(ы)>n) {
s = s.substring(0, n-1)+"...";
}
вернуть с;
}
logList.onLoad = logFunc;
//-------------------------------------
//Действие кнопки
Bn_up = новый объект();
//Событие кнопки, определяем, превышает ли размер страницы значение
Bn_up.click = функция (evt) {
если (страница>1) {
_root.page--;
gotoAndPlay("цикл");
} еще {
останавливаться();
}
};
Bn_d = новый объект();
Bn_d.click = функция(evt) {
если (страница<Tpage) {
_root.page++;
gotoAndPlay("цикл");
} еще {
останавливаться();
}
};
bn_u.addEventListener("клик", Bn_up);
bn_d.addEventListener("click", Bn_d
Для слова "цикл" есть только одно слово:
gotoAndPlay("список");
//Формируем простой цикл
Tree_list.asp:
//log — это моя таблица журнала, log_cat — это asp под таблицей классификации. Это очень понятно
<?xml version="1.0"coding="gb2312"?>
<%
Response.ContentType = "текст/xml"
Response.CacheControl = "без кэша"
Response.AddHeader "Pragma", "без кэша"
Ответ.Истекает = 0
dim log_cat,page,pageSize,Tnum,Tpage,log_name
страница=TreeRequest("страница",1)
log_cat=TreeRequest("log_cat",1)
размер страницы=15
callTree_rs
если log_cat=0 или log_cat="" тогда
sql="выбрать * из порядка журналов по времени записи DESC,log_ID DESC"
еще
sql="выбрать * из журнала,log_cat, где log.cat_id=log_cat.ID и cat_id="&log_cat&" упорядочить по времени записи DESC,log_ID DESC"
Конец, если
rs.open sql,conn,1,1
rs.PageSize=Размер страницы
Tnum=rs.RecordCount
Tpage=Int(Tnum/pageSize*-1)*-1
если страница="" то страница=1
если Tnum<>0, то rs.AbsolutePage=page
если log_cat=0 или log_cat="" тогда
log_name="[все категории]"
еще
log_name="["&rs("cat_name")&"]"
Конец, если
'Следующий вывод xml
'------------------------------------------------
response.write("<Tree logname=""&log_name&"' Tnum=""&Tnum&"' Tpage=""&Tpage&"'>")
если rs.eof тогда
RS.закрыть
еще
делайте пока не rs.eof и pageSize>0
response.write("<Treesauthor=""&rs("log_author")&"' Addtime=""&rs("write_time")&"' id='"&rs("log_ID")&"'>")
response.write("<![CDATA["&rs("log_tittle")&"]]></Trees>")
pageSize=pageSize-1
rs.movenext
петля
RS.закрыть
Конец, если
//Закрыть rs
callTree_rsclose
callTree_conclose
response.write("</Tree>")
%>
Код кажется очень запутанным. Надеюсь, он будет полезен друзьям, которые это делают. Если в приведенном выше примере есть какие-либо ошибки, сообщите мне
. Источник: www.flashbank.cn.