بعد قراءة بعض المنشورات حول هذا الأمر، تعلمت الكثير، والآن أريد مشاركتها معكم جميعًا.
أصبح Flash الآن مجرد وظيفة عرض، أثناء هذه العملية، قرأت أشياء أخرى وشعرت أن الترحيل يبدو أن لديه طريقة بسيطة جدًا لتنفيذه.
يتم نقله بشكل أساسي باستخدام XML.
يمكن استخدام كل من مكونات القائمة وشبكة البيانات للعرض. أستخدم نصًا ديناميكيًا هنا لأنني أعتقد أن استخدام المكونات أمر مزعج للغاية.
لذلك استخدمت طريقة غبية، ولم يكن هناك طريقة أخرى، ولم أتمكن من العثور على طريقة أفضل ~~~
القائمة[..] في الكود أدناه هي اسم النص الديناميكي، ويتم عرض 15 عنصرًا في المرة الواحدة.
// برنامج العرض كما يلي:
// اسم الإطار "قائمة"
قف()؛
var logList = new XML();
فار لوجروت؛
فار الصفحة:الرقم //الصفحة الحالية
var Tpage:Number; // احفظ الصفحة الإجمالية
var Tnum:Number; // العدد الإجمالي للسجلات
فار logname:String; //اسم فئة السجل
فارتمب.
var i:Number;
// هنا أستخدم مصفوفة لتخزين رقم المعرف المقابل.
var ids = new Array(15);
//زرين لقلب الصفحات
bn_u.enabled = false;
bn_d.enabled = false;
إذا (صفحة == فارغة أو صفحة <1) {
الصفحة = 1؛
}
//----------------------------
// وظيفة واضحة؛
وظيفة ماي كلير () {
لـ (i=1;i<16;i++) {
المعرفات[i-1] = 0;
list["lbn"+i]._visible = false;
list["ltitle"+i].text = "";
list["lauthor"+i] = "";
list["ltime"+i] = "";
}
}
//-----------------------------------------
//-----------------------------------------
myclear();
pageInfo.text = "جاري قراءة البيانات...";
logList.ignoreWhite = true;
logList.load("Tree_list.asp?log_cat="+cat_id+"&page="+page);
//----------------------------------------------------------------
// الحصول على وظيفة البيانات
وظيفة سجلFunc (ه) {
إذا (ه) {
logroot = logList.firstChild;
اسم السجل = logroot.attributes.logname;
Tpage = logroot.attributes.Tpage;
Tnum = 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 = true;
// حلقة لقراءة العقد
بينما (temp.nextSibling != null) {
temp = temp.nextSibling;
أنا++;
// إذا تم عرضه بطريقة أخرى، فما عليك سوى تغييره.
ids[i-1] = temp.attributes.id;
list["lbn"+i]._visible = true;
list["ltitle"+i].text = Ftitle(temp.firstChild.nodeValue, 22);
list["lauthor"+i] = temp.attributes.author;
list["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) {
إذا (الطول (الطول)>ن) {
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("click", Bn_up);
bn_d.addEventListener("click", Bn_d);
هناك كلمة واحدة فقط لـ "الدورة":
gotoAndPlay("list");
// قم بتكوين حلقة بسيطة
Tree_list.asp:
//log هو جدول السجل الخاص بي، وlog_cat هو asp الموجود أسفل جدول التصنيف وهو واضح جدًا
<?xml version="1.0" encoding="gb2312"?>
<%
Response.ContentType = "نص/XML"
Response.CacheControl = "لا توجد ذاكرة تخزين مؤقت"
Response.AddHeader "Pragma"، "بدون ذاكرة تخزين مؤقت"
الاستجابة.انتهاء الصلاحية = 0
خافت log_cat,page,pageSize,Tnum,Tpage,log_name
page=TreeRequest("page",1)
log_cat=TreeRequest("log_cat",1)
حجم الصفحة = 15
callTree_rs
إذا log_cat = 0 أو log_cat = "" إذن
sql = "اختر * من ترتيب السجل حسب وقت الكتابة DESC، log_ID DESC"
آخر
sql="select * from log,log_cat حيث log.cat_id=log_cat.ID وcat_id="&log_cat&" بالترتيب حسب وقت الكتابة DESC وlog_ID DESC"
انتهي إذا
rs.open SQL، كون، 1،1
rs.PageSize=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. Close
آخر
افعل بينما لا rs.eof وpageSize>0
Response.write("<Trees Author='"&rs("log_author")&"' Addtime='"&rs("writer_time")&"' id='"&rs("log_ID")&"'>")
Response.write("<![CDATA["&rs("log_tittle")&"]]></Trees>")
pageSize=pageSize-1
rs.movenext
حلقة
rs. Close
انتهي إذا
// إغلاق آر إس
callTree_rsClose
callTree_concluse
Response.write("</Tree>")
%>
يبدو أن الكود فوضوي للغاية، وآمل أن يكون مفيدًا للأصدقاء الذين يقومون بذلك. إذا كان هناك أي أخطاء في ما ورد أعلاه، فيرجى إخباري
. المصدر: www.flashbank.cn