หลังจากอ่านโพสต์เกี่ยวกับเรื่องนี้ ฉันได้เรียนรู้มากมาย และตอนนี้ฉันต้องการแบ่งปันกับทุกคน
ตอนนี้ Flash เป็นเพียงฟังก์ชันการแสดงผลเท่านั้น ในระหว่างกระบวนการนี้ ฉันอ่านเนื้อหาของคนอื่นและรู้สึกว่าเพจจิ้งดูเหมือนจะมีวิธีที่ง่ายมากในการนำไปใช้
โดยพื้นฐานแล้วจะถูกส่งโดยใช้ xml
สามารถใช้ทั้งรายการส่วนประกอบและ DataGrid สำหรับการแสดงผล ฉันใช้ข้อความแบบไดนามิกที่นี่เพราะฉันคิดว่ามันลำบากเกินไปที่จะใช้ส่วนประกอบ
ฉันก็เลยใช้วิธีโง่ๆ ไม่มีทางอื่นแล้ว ฉันหาวิธีที่ดีกว่านี้ไม่เจอแล้ว~~~
รายการ[..] ในโค้ดด้านล่างคือชื่อของข้อความไดนามิก และจะแสดงครั้งละ 15 รายการ
//โปรแกรมแสดงผลเป็นดังนี้:
//ชื่อเฟรม "รายการ"
หยุด();
var logList = XML ใหม่();
var logroot;
หน้า var:หมายเลข; //หน้าปัจจุบัน
var Tpage:Number; //บันทึกหน้าทั้งหมด
var Tnum:Number; //จำนวนบันทึกทั้งหมด
var logname:String; //ชื่อหมวดหมู่บันทึก
วาร์เทมป์;
var i:Number;
//ในที่นี้ฉันใช้อาร์เรย์เพื่อจัดเก็บหมายเลข ID ที่เกี่ยวข้อง หากคุณใช้ส่วนประกอบ คุณไม่จำเป็นต้องยุ่งยากมากนัก
var ids = new Array(15);
// ปุ่มสองปุ่มสำหรับเปลี่ยนหน้า
bn_u.enabled = เท็จ;
bn_d.enabled = เท็จ;
ถ้า (หน้า == null หรือหน้า <1) {
หน้า = 1;
-
-
//ล้างฟังก์ชัน;
ฟังก์ชั่น myclear() {
สำหรับ (i=1; i<16; i++) {
รหัส [i-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;
logname = logroot.attributes.logname;
Tpage = logroot.attributes.Tpage;
Tnum = logroot.attributes.Tnum;
อุณหภูมิ = logroot.firstChild;
list.ltitle1.text = Ftitle (temp.firstChild.nodeValue, 22);
list.lauthor1 = temp.attributes.author;
list.ltime1 = temp.attributes.Addtime;
รหัส [0] = temp.attributes.id;
ฉัน = 1;
list.lbn1._visible = จริง;
//วนรอบเพื่ออ่านโหนด
ในขณะที่ (temp.nextSibling != null) {
temp = temp.nextSibling;
ฉัน++;
//ถ้ามันแสดงในลักษณะอื่นเพียงแค่เปลี่ยนมัน
ids[i-1] = temp.attributes.id;
รายการ ["lbn"+i]._visible = จริง;
รายการ ["ltitle"+i].text = Ftitle(temp.firstChild.nodeValue, 22);
รายการ ["lauthor"+i] = temp.attributes.author;
รายการ ["ltime"+i] = temp.attributes.Addtime;
-
pageInfo.text = logname+"Total logs"+Tnum+"Total article"+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.เพจ--;
gotoAndPlay("วงจร");
} อื่น {
หยุด();
-
-
Bn_d = วัตถุใหม่ ();
Bn_d.click = ฟังก์ชั่น (evt) {
ถ้า (หน้า<Tpage) {
_root.เพจ++;
gotoAndPlay("วงจร");
} อื่น {
หยุด();
-
-
bn_u.addEventListener("คลิก", Bn_up);
bn_d.addEventListener("click", Bn_d);
มีเพียงคำเดียวสำหรับ "วงจร":
gotoAndPlay("รายการ");
//สร้างลูป
Tree_list.asp แบบง่ายๆ:
//log คือตารางบันทึกของฉัน log_cat คือ asp ด้านล่างตารางการจัดหมวดหมู่ มันชัดเจนมาก
<?xml version="1.0" encoding="gb2312"?>
-
Response.ContentType = "ข้อความ/xml"
Response.CacheControl = "ไม่มีแคช"
Response.AddHeader "Pragma", "ไม่มีแคช"
การตอบกลับหมดอายุ = 0
dim log_cat,หน้า,ขนาดหน้า,Tnum,Tpage,log_name
หน้า=TreeRequest("หน้า",1)
log_cat=TreeRequest("log_cat",1)
ขนาดหน้า=15
callTree_rs
ถ้า log_cat=0 หรือ log_cat="" แล้ว
sql = "เลือก * จากลำดับบันทึกโดย write_time DESC, log_ID DESC"
อื่น
sql="select * from log,log_cat โดยที่ log.cat_id=log_cat.ID และ cat_id="&log_cat&" เรียงลำดับตาม write_time DESC,log_ID DESC"
จบถ้า
rs.open sql,conn,1,1
rs.PageSize=ขนาดหน้า
Tnum=rs.RecordCount
Tpage=Int(Tnum/pageSize*-1)*-1
ถ้า page="" แล้ว page=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.eof และ pageSize>0
response.write("<Trees author='"&rs("log_author")&"' Addtime='"&rs("write_time")&"' id='"&rs("log_ID")&"'>")
response.write("<![CDATA["&rs("log_tittle")&"]]></Trees>")
pageSize=pageSize-1
rs.movenext
วนซ้ำ
฿.ปิด
จบถ้า
//ปิด rs
callTree_rsclose
callTree_conclose
response.write("</Tree>")
%>
โค้ดดูเหมือนจะยุ่งมาก ฉันหวังว่ามันจะเป็นประโยชน์กับเพื่อน ๆ ที่กำลังทำเช่นนี้ หากมีข้อบกพร่องใด ๆ ข้างต้น โปรดบอกฉัน
ที่มา: www.flashbank.cn