注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
Windows XP的开机菜单有什么含义
win Vista使用感受:和经典菜单告
用VC制作带弹出式菜单的按钮
用VC++打造有多语言菜单的应用程
在菜单中加入图标
如何在IE右键菜单中添加菜单项以
用VB编写一个弹出菜单类
在word中动态创建菜单并处理菜单
用Visial Basic 在菜单栏实现超链
在菜单栏上实现超链接
您现在的位置: 顶尖设计 >> IT学院 >> 图形 >> 网页 >> flash >> 基础教学 >> 文章正文
制作无限级菜单
作者:zjs35  来源:zjs35blog  点击:  更新:2006-8-12
简介:
原来是三级菜单,写书时想把它做为例子(第5章的第4个例子中),于是用递归改成无限级的
首先得准备xml文件
部分载图

图片如下:

核心代码: 
function addMenu(mc) { 
  removeMenu((mc.level-1)*depthDis, (mc.level+menuLevel-1)*depthDis-1); 
  var tempArray = []; 
  tempArray = mc.data; 
  var j = tempArray.length; 
  for (var i = 0; i<j; i++) { 
    var d = mc.level*depthDis-i-1; 
    var t = menu.duplicateMovieClip("menu"+d, d); 
    menuStyle(t, tempArray[i].attributes.text); 
    t._x = mc._x+(mc._width+dis); 
    t._y = mc._y+(hei+dis)*i; 
    if (tempArray[i].childNodes[0] != undefined) { 
      var tmc = t.createEmptyMovieClip("nex", 2); 
      createNext(tmc, wid-12, 5); 
    } 
    t.data = tempArray[i].childNodes; 
    t.level = mc.level+1; 
    t.id = i; 
    t.onRollOver = function() { 
      addMenu(this); 
      mc.prev = mc.curr; 
      menuOutStyle(mc.prev); 

      mc.curr = this;
      menuRollStyle(mc.curr);
    };
    if (t.data[0] == undefined) {
      t.onRelease = function() {
        var _u = tempArray[this.id].attributes.link;
        if (_u != undefined) {
          createLoading("swf/"+_u);
        }
      };
    }
  }
}
呵,用了Tween类,效果很cool





  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务