当前位置:首页>>平面设计教程>>Flash教程>>正文

学习做FLASH留言本:分页技术

文章出处: 作者: 发布时间:2006-10-16 收藏到QQ书签
  这次是做留言板分页 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); 

Google