数据载入中,请稍后......
 
展开
懒人码库客户端 点击或扫描下载
欢迎来到懒人码库!懒人码库QQ群:19651313
欢迎来到懒人码库!懒人码库QQ群:19651313  
当前位置:懒人码库 > Flash/AS

学习做FLASH留言本——分页

2014-11-03 15:35 来源:懒人码库 / 作者:懒人码库 已被阅读:次 分类:Flash/AS 上一篇:Flash+XML实现电子地图查询及定位功能 下一篇:FLASH如何调用数据库中的数据

今天看了些帖子,突然想把一些东西用文字记下来。所以进来踩踩!
  这次是做留言板分页 AS+ASP+ACCESS
传递一个id,一个标题title,作者author三种数据,  
那么就定义一个allId,AllTitle,allAuthor,  
然后循环读取数据库  
把所有数据id的累加在allId里,所有的标题累加在AllTitle里,所有的标题累加在allAuthor里  
最后把allId,AllTitle,allAuthor传给flash  
(累加的时候记得加分割符,例如“#,那么allId="i#2#3#........"等等,分割要注意一点)  
接下来的是flash部分了。在这里我是用LoadVar类来接受数据的。  
定义一个函数  

//这个函数接受三个参数,allId,AllTitle,allAuthor   
function showTitle(allId:StringallTitle:String, allUser:String, allAuthor:String)   
{   
//定义三个数组   
var ids:Array = new Array();   
var titles:Array = new Array();   
var author:Array = new Array();   
//根据分割符,把分割出来的数据放在数组里   
ids = allId.split("#");   
titles = allTitle.split("#");   
author= allUser.split("#");   
//这里是程序的主要部分,请大家注意看了,用一个for循环   
//先是复制出一个影片,然后把数据加进mc里面的变量   
for(var i = 0; i < ids.length; i++)   
{   
//复制mc   
var mc:MovieClip = this.attachMovie("titles","titles" + i,10 * i + 100);   
mc._x = 40;   
mc._y = 220 + i * 35;   
//把相关的信息赋给mc的相应变量   
mc.titleVar = titles[i];   
mc.authorVar = users[i];   
//点击标题时,进入内容   
buttonEvent(mc, ids[i],);   
}   
}   
//定义按钮事件   
function buttonEvent(btn:MovieClip, id:String)   
{   
btn.menuBtn.onPress = function()   
{   
loadMovieNum("content.swf?&titleId=" + id ,0);   
}   
}   
//这是显示分页按钮的函数,这个没什么难点,主要是判断的问题  
//page,当前页数--  pageCount,总页数   ---count,当强显示条,pager一页显示多少条  
function showPage(id:String,count:String,page:String,pageCount:String,pager:Number)  
{  
 //复制出一个MC出来,里面包含上一页,下一页,第一页,最后一页,返回首页这些按钮  
 if(page != "1" || count * 1 == pager)  
 {  
  this.attachMovie("pageMC","pageMC",50);  
  pageMC._x = 200;  
  pageMC._y = 465;  
 }  
 //第一页  
 pageMC.oneBtn.onPress = function()  
 {  
  //如果是第一页,弹出警告框  
  if(count * 1  == pager)  
  {  
   showAlert("当前页已经是第一页了");  
  }  
  else  
  {  
   loadMovieNum("title.swf?&&id=" + id,0);  
  }  
 }  
 //上一页  
 pageMC.upBtn.onPress = function()  
 {  
  //如果是第一页时  
  if(page == "1" && count == pager)  
  {  
   showAlert("没有上一页了");  
  }  
  else  
  {  
   var pageNo:Number = page * 1 - 1;  
   loadMovieNum("title.swf?&id=" + id + "&pageNo=" + pageNo,0);  
  }  
 }  
 //下一页  
 pageMC.nextBtn.onPress = function()  
 {  
  //当在最后一页时  
  if(page == pageCount)  
  {  
   showAlert("没有下一页了");  
  }  
  else  
  {  
   var pageNo:Number = page * 1 + 1;  
   loadMovieNum("title.swf?&id=" + id + "&pageNo=" + pageNo,0);  
  }  
 }  
 //最后一页  
 pageMC.lastBtn.onPress = function()  
 {  
  if(page == pageCount)  
  {  
   showAlert("当前页已经是最后一页了");  
  }  
  else  
  {  
   loadMovieNum("title.swf?&id=" + id + "&pageNo=" + pageCount,0);  
  }  
 }  
 //首页  
 pageMC.indexBtn.onPress = function()  
 {  
  loadMovieNum("index.swf",0);  
 }  
}  
//弹出警告框函数,即Alert组件  
function showAlert(str:String)  
{  
 Alert.yesLabel = "确定";  
 Alert.noLabel = "取消";  
 Alert.show(str, "提示", Alert.YES|Alert.NO);  

这里是最后一步了,用来加载可以输出allId,AllTitle,allAuthor的后台程序文件  

stop();   
System.useCodepage = true; //显示中文   
var pageNo:String; //第几页   
var sendVar:LoadVars = new LoadVars();   
var loadVar:LoadVars = new LoadVars();   
//如果pageNo为空时,把pageNo始终设为第一页   
if(pageNo == null)   
{   
pageNo = "1";   
}   
//把页数传递出去,好让后台程序搜索   
sendVar.pageNo = pageNo;   
sendVar.sendAndLoad("文件名",loadVar,"post");   
loadVar.onLoad = function(success:Boolean)   
{   
if(success)   
{   
page = loadVar.page; //当前页数   
count = loadVar.count; //当前条数,其实这个可以不要,判断改一下就可以   
pageCount = loadVar.pageCount; //总页数   
showPage(id,count,page,pageCount,10);   
showTitle(loadVar.allId,loadVar.allTitle,loadVar.allAuthor);   
}   
else   
{   
_root.gotoAndStop("error");   
}   
标签:
小贴士:懒人码库 为网页前端人员提供建站常用的广告代码和网页特效,内容涵盖焦点图,导航菜单,jQuery代码,图片特效,对联广告,日历控件,在线客服等。