d);
}
这个函数主要是调用了creatMyMenu()函数,搜索整个代码,找到creatMyMenu()函数
//建立子菜单
function creatMyMenu(a, b) {
for (var i = 0; i<a.childNodes.length; i++) {
this.createEmptyMovieClip("item"+i, i);
var myMenu = this["item"+i];
myMenu.creatMenu(a.childNodes[i], i, b);
}
}
creatMyMenu()引入了2个值,其中a是一个XML对象,那么我们如果要计算新的尺寸,就需要知道一共打开了多少个菜单,可以在函数中加一句trace("这个子菜单有"+a.childNodes.length),然后测试影片,返回结果为

这两次返回的结果主要是第一次生成了3个主菜单,而主菜单的生成函数中嵌入了一个检查菜单是否展开的函数,若展开则继续生成子菜单,既第一个分类中的7个子菜单。
现在已经确定了菜单初始化时生成的数量,下一步确定菜单在打开和关闭时所生成的数量。
大概浏览一下整体代码,可以看到有一个函数menuDrawBg()其中有好几个鼠标事件,那么这个函数应该是决定鼠标事件出发以后所执行命令的函数。我们主要看onRelease事件:
this.bg.onRelease = function() {
getURL(this._parent.XMLData.attributes.url,this._parent.XMLData.attributes
.targetWindo);
if (!(Number(this._parent.XMLData.attributes.open))) {
this._parent.XMLData.attributes.open = 1;
this._parent.creatMenu(this._parent.XMLData, this._parent.XMLIndex, 1);
} else {
if (Number(this._parent.XMLData.attributes.open)) {
this._parent.item.removeMovieClip();
this._parent.XMLData.attributes.open = 0; &
上一页 [1] [2] [3] [4] [5] 下一页