nbsp;
}
}
};
这个事件中主要判断XML对象中的OPEN属性,控制开/关,首先判断“!(Number(this._parent.XMLData.attributes.open)”条件既若菜单的open属性为0则打开菜单,再往下看,先不要急着取得打开的菜单数目,可以看到里面调用了一个creatMenu()函数,搜索找到creatMenu()函数。最后找到这一句:“MovieClip.prototype.creatMenu = menuInit;”往下看,就是menuInit函数的定义,稍微看看你可以发现这个函数也调用了creatMyMenu()函数,我们之前已经修改过了creatMyMenu()函数,那么这里则可以省去这个步骤,下面看看关闭菜单的代码,其中的XML对象为this._parent.XMLData,那么要取得关闭菜单的数目取得this._parent.XMLData的项数即可,增加一个trace("菜单关上"+this._parent.XMLData.childNodes.length)语句,然后测试。
测试无误后,下面要开始计算新的高度。在代码中加如下列语句:
function newSize(width,height){
_root.nowheight=height
trace("新的宽度为"+width+",新的高度为"+height)
}
这里先测试计算结果是否正确,然后在之前修改好的几个函数中分别加入这样的语句
_root.newSize(0,取得的菜单数量*(菜单宽度+菜单间隔))
测试一切正常以后,就可以把Flash和Html结合起来了
先把之前的加入的语句做点修改:
function newSize(width,height){
getURL("javascript:newSize(550,"+height+")")
_root.nowheight=height
}
通过GetURL()函数来调用在HTML页面中定义好的JavaScript函数,下面是newSize()函数的代码:
<SCRIPT LANGUAGE="JavaScript">
<!--
function newSize(datoX,datoY) {
if(document.all && !document.getElementById) {
document.all['menu'].style.pixelWidth = datoX;
document.all['menu'].style.pixelHeight = datoY;
}else{
document.getElementById('menu').style.width = datoX;
document.getElementById('menu').style.height = datoY;
}
}
//-->
</script>
这段代码并不难理解,主要是设定ID为menu的对象的CSS中一些属性,既width和height
在HTML页面中,新建两个表格,一个为2行2列,另外一个为单行单列,页边距均为0,插入几幅漂亮的图片,如图:
上一页 [1] [2] [3] [4] [5] 下一页