在线用户    站点地图 技术论坛 文档中心 站点导航 资源下载 语言参考 教程专题 站点统计 业务项目 使用帮助
您的位置
MSDN参考新加了CSS2参考,全中文,制作精良。245k下载。           新加了sxf_sxf推荐的"动态网页专家指导" 下载!          新加了lsg2002lsg推荐的"ASP.NET高级编程(PDF)" 下载!          新加了DHTML代码预览!!,功能强大哦!欢迎试用          新加了网友lincong为大家提供的SQL Server 2000 程序员指南,有点大,但同时也就说明内容全咯!           新加了网友ibra为大家提供的北大的JAVA课件,很适合初学者入门           新加了一个java的连接缓冲池代码示例           新加了人月神话电子版下载!软件工程巨著哦~~           更新了评分标准,引入了“专家分”概念,相信可以更好的激励大家的学习!详情请看“使用帮助”           新加了由网友GGG提供的“IIS超级管理手册”,值得一看哦!(虽然我没看过 :P )           新加了“英雄榜”,欢迎测试!           “无组件上传·从原理剖析到实践”已经全部完成,源码全部开放,有兴趣的朋友请到文档中心一探究竟。  您的位置  首页>文档中心>XML>文档A0000752 在同一窗口中打开页面中的链接 在新窗口中打开页面中的链接 将ASPCHINA设为首页 将ASPCHINA加入书签    
 LOGIN HERE
用户:
密码: 忘记密码
记住密码 用户注册 游客进入
相关文章

让左键弹出菜单响应自动更新

MSXML 4.0 SDK 下载

页面中点击鼠标右键----弹出与windows界面相似的菜单

利用asp+xml数据岛给静态内容增加评论功能

XML学习成长日记(七)2004.6.13

XML学习成长日记(六)2004.5.27

XML学习成长日记(五)2004.5.20

XML学习成长日记(四)2004.5.14

XML轻松学习成长日记(三)

XML 编程简介
发表文章
Flash + XML 制作二级菜单,实用教程。

作者:WISH630     提交人:wish630     发布时间:04-05-11     文章类型:原创     浏览量:3924
参考链结:http://    
关键字:flash|xml|菜单
[本文档包含附件:7215_623_xml.gif, 7215_690_fla_menu.rar, 7215_798_timeline.gif, 7215_956_show.gif]
字体:    视力保护色: 杏仁黄  秋叶褐  胭脂红  芥末绿  天蓝  雪青  灰  银河白(默认色) [A0000752]

Flash + XML 制作二级菜单,实用教程。

下载:7215_690_fla_menu.rar


[7215_956_show.gif]


  我真是第一次写教程,也是第一次用FLA+XML做东西,估计会有一些BUG。高手们多指点。

  好了废话不说了,这是一个在门户网站中非常实用的二级菜单。XML文件可以用ASP JSP什么的从后台数据库输出。

  首先我们看看XML文件的结构。<sort></sort>这是一个大的分类,<title></title>是大分类的标题,比如[硬件]。<s_title></s_title>这是自类,比如[硬盘]。

  我们要做到的是在FLA播放之后,就要把一级分类列出来,然后在鼠标OVER每个一级分类后,在右边显示二级分类。点击这些标题就会发送地址给浏览


[7215_623_xml.gif]


首先我们打开文本编辑器(DW EP NOTBOOK都可以)。编辑XML。

  然后打开FLASH(推荐使用MX2004)。

  说一下我的FLA的具体设置:尺寸:182*235(这个你随便),30/FPS(这个你也随便)。

  关系到菜单的零件有:"sort"MC(影片剪辑),"sub_sort"MC。

  SORT是用来显示一级分类的标题,SUB_SORT是用来显示二级的标题。我门现在就来制作这两个影片剪辑。首先新建一个MC在里面坐一个动态文本筐,变量为TXT。然后把这个MC存成SORT。然后把它复制一个叫做SUB_SORT。将这两个MC放到舞台上,然后拖到显示区域以外。(因为他们两个只是用来复制的,不要去显示他们,拖到显示区域外在网页中就看不到了。)实例名称分别是"sort","sub_sort"。

  这个菜单FLA基本上做作这两个MC就够了,其他的也就是界面了,你们可以自己随意设计,这个教程主要讲的是FLA+XML做菜单,其他就略过了。

  在创建一个层命名为ACTION SCRIPT。整个影片只需要两祯。ACTION SCRIPT层分别在第一二真上创建关键祯。在第二祯的脚本里输入"Stop();"。


[7215_798_timeline.gif]

(最好还是下载原文件看看。)

  好了,我们正式开始写程序了。
  这个程序主要就是两个函数“exesort();exe_sub_sort(sort_id);”。这些都写在ACTION SCRIPT的第一祯。

一、初始化
//定义myxml为XML对象
var myxml= new XML(); //定义sort数组,用来存储每一个一级分类的名称。
var sort= new Array();

//定义sort_id数组,用来存储每一个一级分类的ID号。
var sort_id= new Array();

//定义subsort数组,用来存储一个二级分类的名称。
var subsort = new Array();

//定义subsort数组,用来。。。。。。
var subsort_id = new Array();

//忽略XML中的空格
myxml.ignoreWhite = true;

//没有这句话XML里面如果有中文就会报错!
System.useCodepage = true;


二、检测XML
//myxml.load的时候运行此函数!
myxml.onLoad = function(success){ //检测是否读取成功
if(success){

//如果成功了先把一级分类存到sorttotal中,以后用着方便。
sorttotal=myxml.firstChild.childNodes;

//执行exesort函数,读取出一级分类。
exesort();

}else{

//输出“错了”
trace("xml读取错误");
}
}


三、exesort函数
//exesort函数用来执行一级分类的显示什么的
function exesort(){

//做一个FOR循环,从0到一级分类的总数。
for (var i = 0; i < sorttotal.length; i++){

//把每一个一级分类的名称寸到sort数组中。
sort[i] = sorttotal[i].childNodes[0].firstChild.nodeValue;

//把每一个一级类的ID存到sort_id数组中。
sort_id[i] = sorttotal[i].childNodes[i].childNodes[0].attributes.t_id;

//复制实例名称为“sort”的MC(动画剪辑)
//层级设置为12没有任何具体意义,就是怕被别的东西挡上。
duplicateMovieClip("sort","sort"+i,12+i);

//设定复制出来的位置Y轴每次加20,这样就列出来了,要不然就会叠在一起。
setProperty("sort"+i,_y,(33 + (20 * i)));
setProperty("sort"+i,_x,5);

//给复制出来的MC中的文本筐传文字。
_root["sort"+i].txt=sort[i];

//传ID号过去。
_root["sort"+i].id=sort_id[i];

//这个onover变量是用来得知当前是第几个一级分类,这样才能显示出相应的二级分类。
_root["sort"+i].onover = i;
}
}//exesort函数结束


四、EXE_SUB_SORT函数

//exe_sub_sort函数 执行二级分类
function exe_sub_sort(s_id){

//这句话就是为了让,FOR语句短一点,有些多此一举。
o=sorttotal[s_id].childNodes.length;

//从1到二级分类的总数。
for(var i = 1;i < o; i++){

//下面这两句应该和exesort里面的大同小异。
subsort[i] = sorttotal[s_id].childNodes[i].firstChild.nodeValue;
subsort_id[i] = sorttotal[s_id].childNodes[i].attributes.t_id;

//复制实例名称为"sub_sort"的MC。。。
duplicateMovieClip("sub_sort","subsort"+i,24+i);

//设置每一个的高度。因为循环是从1开始的,所以公式和上次的不太一样了。自己看看就明白了。
setProperty("subsort"+i,_y,(13 + (20 * i)));
setProperty("subsort"+i,_x,93);

//依然是要把东西这些东西穿过去
_root["subsort"+i].txt=subsort[i];
_root["subsort"+i].id=subsort_id[i];
}
}



五、ACTION SCRIPT层第一祯的最后一句
//读取XML
myxml.load("menu.xml");


六、SORT_MC的上的代码
//在点击之后,去什么什么地方?id=xxxx。
on(release){
getURL("url.asp?id="+id);
}

//在onMouseOver最主要的是要显示二级菜单
on(rollOver){

//下面这两句是为了美化外观的,自己研究一下就知道了。
_root.bg.gotoAndPlay(2);
this.gotoAndPlay(2);

//这个FOR循环是用来隐藏已经显示出来的二级菜单的。
//1到20因为我笨不方便统计已经存在的二级菜单数量所以就定死了为20,
//如果真的超过20就消不掉了。高手们见笑了。
for(var i=1; i< 20; i++){

//隐藏已经显示的二级菜单。
_root["subsort"+i]._visible=0;

}//FOR循环结束

//最重要的在这里显示相应的二级菜单。
_root.exe_sub_sort(onover);
}

七、SUB_SORT_MC上的代码
//不用说了吧
on(release){
getURL("url.asp?id="+id);
}

  好了这样就行了,我现在觉得写教程真是很辛苦,当然我知道我写的非常烂,大家还是好好看看FLA文件。

  这个菜单FLA有一些缺点比如,如果菜单超出画面没有做限制,二级菜单不能为空等。

  就说这么多吧,大家多提意见,这个程序中肯定有很多绕弯子的地方,希望大家能帮我想想。我的QQ154133。

下载:7215_690_fla_menu.rar

关于这篇文章的评论 [注意:这里仅仅是给大家提供了一个发表对文章本身看法的地方,如果有疑问,请到论坛提出] 我要提问!
标题
内容
发言
*您尚未以注册用户身份登录,不能发表评论。这里登录
您的位置
  (c)2000-2019 Yup Studio, all rights reserved.  
177.2461