|
一种是如前图所示的HTML模式,一种是如后图所示的Image(贴图)模式。它们的区别是,HTML模式下,菜单样式完全由代码控制,即时计算生成,显示速度当然极快,非常流畅;Image模式下,菜单条目的背景可以显示图片,每次菜单弹出时,就会即时下载背景贴图,这样对高速网络用户来说几乎感觉不到,但是对慢速网络用户,就会明显觉察到贴图下载显示的时间滞后,造成不流畅的感觉。但是由于Image模式生成的菜单可以使用漂亮的贴图,虽然FW4种提供选择的贴图样式并不多,共21种,但只要在输出后,找到这些图片,用自定义的尺寸一致图片替换掉,就可以做出完全属于自己的个性菜单,比如在贴图上打上你自己的网站LOGO等等。这里笔者选择HTML模式。样式设置窗中,Up State是用来设置菜单条目处于普通状态时的样式,Over State是用来设置鼠标移到菜单条目上时的样式。另外,Font是用来选择显示的字体,为了在网页上能清晰显示字体,建议大家在字体大小Size中选择12,\"B\"按钮是使用粗体字,\"I\"按钮是使用斜体字。样式设置将即时在下方的Preview区域中显示,完成设置后点Finish按钮生成弹出菜单。+ W- {% E0 F8 _9 T8 }' }7 _
4. 调整弹出菜单位置
: A- J4 W) I0 f! m 如图所示,生成的弹出菜单将以蓝色线框表示,它的位置就是鼠标移到母菜单按钮上它弹出的位置,大家可以点住弹出菜单的蓝色线框,拖拉到你想要它弹出的位置,比如笔者想让它在母菜单按钮下方弹出。
E$ X; _9 y% f: k \- f# h$ I' j+ ~9 a# v9 ]% v4 F! F8 ^9 z2 P

7 {9 c: k% C6 g0 U- `# P! H5 u* I R' i1 L3 {- W+ o- [* Q- }
5.调整母菜单按钮与弹出菜单样式一致1 P6 |0 U" X# p2 d. {( Z8 n0 q/ `
有的朋友说,既然弹出菜单已经有样式了,那么母菜单怎么办?其实笔者早已想到,所以刚开始把母菜单做成了按钮对象,双击母菜单按钮对象,打开按钮对象编辑窗,自己动手改按钮的各个状态吧,这属于FW4的基本操作,笔者这里就不罗嗦了。
* K* s0 }, f+ W9 ?& x% y& f( G: t; C1 r5 w/ c

5 ~6 Z8 O( I! k+ A/ s4 U! `8 ?- ` P9 B& B7 K P$ D& I
6.输出弹出菜单- u- ~7 w6 C8 S. R* V
刚才一直跟着做一定很累,所以另外还有一个矩形就留给大家自己练习一下。完成后可以选择File菜单下的Export Preview,或者按Ctrl+Shift+X快捷键打开输出设置窗口。如图十七所示,在Option标签页下方的透底选项中选择Alpha Transparency,Matte(基底色)中选择你实际网页使用的背景色,这样菜单就可以和你的网页天衣无缝地融为一体。4 P" U9 C, N( B* S% i5 A+ m
) v, b$ a2 C" U6 D

. S+ |# M$ N+ }' i/ v) h
3 \$ Q7 [9 S- H" k 点Export按钮,如图十八,自己设置输出路径和文件名,并选择保存类型为HTML and Images,HTML选项中选Export HTML File,Slices选项中选Export Slices,最后点保存按钮,弹出菜单就输出完成了。6 v4 V- a6 a$ R1 y) z% V) S9 B
) H' ]; v& U3 I1 @4 w L

! n7 b2 J9 K( ]+ T& a) I$ |
+ y! U! r) |" W h现在你可以打开你输出的HTML文件看看你的工作成果了。关掉FW4吧,下面没它的事儿了。! D3 O @3 W- ^6 @4 O( O/ H
二、 在DW4中设置弹出菜单
4 |4 e; r+ @' e, h1. 将弹出菜单导入DW4
0 I! x2 Z! Z [! y( O9 y 打开DW4,新建或打开一个站点(Site),在站点中新建一个HTML文件,存盘,然后选择Insert菜单下的Interactive Images中的Fireworks HTML,或者选择Window菜单下的Objects或按Ctrl+F2快捷键打开Objects(对象)面板,从面板上的Common类中选择那个Fireworks的图标(如图十九),; M* R9 N7 F2 a
. v# k5 a! g @% v' H# v& H
' Y2 ^! c1 Z- _, F& B! g7 w2 R- } E' y# g1 [
在弹出的对话窗中点Browser按钮,选择你刚才FW4中输出的HTML文件,点OK按钮,刚才做好的弹出菜单就导进来了。如果你的FW4弹出菜单输出文件没有在当前的站点中,那么DW4还会问你是否要将这些文件复制到站点中来,一定要选OK,并且最好单独为这些文件在站点中建一个文件夹。现在可以按F12预览一下效果了,是不是不像想象中的那么cool?弹出菜单好象边框很粗!因为当前使用的是默认的样式。没关系,接下来就来动点小手术!# k1 R, R) r6 M
2. 在DW4中重新设置菜单样式7 f: R( N2 x' ^8 Y+ j
如图可以看到刚才复制到站点中来的FW4弹出菜单文件中有这样一个文件--fw_menu.js,2 `: J: U8 k/ f/ o1 s) P' s
: x% o* L }9 f
) r+ f! Y4 n( }4 [
3 B J$ ?0 n0 j. v1 ^用DW4将它打开,在文件的开头部分可以看到这样一段代码:9 k4 H. m/ {& c6 Z
this.menuWidth = mw;this.menuItemHeight = mh;this.fontSize = fs||12;this.fontWeight = \"plain\";this.fontFamily = fnt||\"arial,helvetica,verdana,sans-serif\";this.fontColor = fclr||\"#000000\";this.fontColorHilite = fhclr||\"#ffffff\";this.bgColor = \"#555555\";this.menuBorder = 1;this.menuItemBorder = 1;this.menuItemBgColor = bg||\"#cccccc\";this.menuLiteBgColor = \"#ffffff\";this.menuBorderBgColor = \"#777777\";this.menuHiliteBgColor = bgh||\"#000084\";this.menuContainerBgColor = \"#cccccc\";this.childMenuIcon = \"arrows.gif\";- F" C: j2 \/ P% V: n" F* A
注意this.后面的变量名,下面是直接影响菜单效果的变量名对应的菜单属性: 8 X8 m5 T' t. n, R( q6 X' a
menuWidth: 菜单宽度menuItemHeight : 菜单条目高度fontWeight: 菜单条目文字粗细fontFamily: 菜单条目文字字体fontSize: 菜单条目文字大小fontColor: 菜单条目文字颜色fontColorHilite: 菜单条目文字高亮色(即鼠标移到菜单上时文字的颜色)bgColor: 菜单暗边背景色menuBorder: 菜单边框宽度menuItemBorder: 菜单条目边框宽度(其实是菜单内各条目之间分隔线的宽度)menuItemBgColor: 菜单条目背景色menuLiteBgColor: 菜单亮边背景色menuBorderBgColor: 菜单边框背景色menuHiliteBgColor: 菜单条目背景高亮色(即鼠标移到菜单上时背景的颜色)childMenuIcon: 子菜单扩展标记(默认是个小黑箭头)
8 [5 a6 u# c; m3 |/ C; H3 X' `- \' E) w- { 弹出菜单的样式是遵循下图中的规则的,大家可以细细研究一下,对照起来修改参数。
9 {* P! [% a5 w, Z, h7 ]
% ]: X& o' ?# q # @7 O+ u4 a# y0 _! K @: ~
( u' E! T+ l# S# o b2 I( |. O! Y 由于篇幅限制,笔者在这里就不赘述了,先给出一个修改其中一些参数的样例,余下的大家可以自行测试:
. n2 A0 \" C3 j8 ithis.bgColor = \"#000000\";this.menuBorder = 1;this.menuItemBorder = 1;this.menuItemBgColor = bg||\"#cccccc\";this.menuLiteBgColor = \"#000000\";this.menuBorderBgColor = \"\";this.menuHiliteBgColor = bgh||\"#000084\";this.menuContainerBgColor = \"#cccccc\";this.childMenuIcon = \"arrows.gif\";
3 {7 b0 B2 e% o% ~+ t# p0 d 存盘,回到菜单的HTML文件,F12预览,菜单样式已经发生了变化,菜单边框变细致了,是不是很cool啊!3 b4 x/ x7 h) C" Q5 P' e. h$ n4 [
, f( M- \$ e% k) O) J1 `+ U- n 6 Q: R7 M* f$ X" F
3 N$ B1 _- Z6 h9 m1 [5 C( g9 U b
3. 弹出菜单缩回停留时间的修改
+ K6 p" u J, s* q. V 大家会发现弹出菜单要收回似乎要等待一两秒的时间,没关系,在fw_menu.js中找到这句代码:1 O- D0 K. y& } C) Z8 A" }) h
fwHideMenuTimer = setTimeout(\"fwDoHide()\", 1000);
; ]% N' h, R2 Z 将其中的1000改成300,再找到这句代码:
$ h* k. q9 c! K2 bif (elapsed < 1000) {fwHideMenuTimer = setTimeout(\"fwDoHide()\", 1100-elapsed);return;}
$ A0 X: l0 W) `9 x' u7 m( \ 将其中的1000改成300,1100改成330,存盘,再回到HTML文件按F12预览一下,是不是快多了。这些数值是以毫秒为单位的,也就是说1000代表1秒,建议这些数值不要设得太小,否则菜单收回太快会导致你点不中弹出菜单。4. 特殊效果的弹出菜单
( A$ A: J$ w6 }1 A! H+ j 运用&106avascript来调用和控制CSS滤镜还可以为菜单带来意想不到的效果。在fw_menu.js中使用这样的参数设置:
# h$ w+ H; K7 ~ |5 bthis.bgColor = \"\";this.menuBorder = 3;this.menuItemBorder = 3;this.menuItemBgColor = bg||\"#cccccc\";this.menuLiteBgColor = \"\";this.menuBorderBgColor = \"\";this.menuHiliteBgColor = bgh||\"#000084\";this.menuContainerBgColor = \"#cccccc\";this.childMenuIcon = \"arrows.gif\";
: Y2 h& g, c/ i; B: g& M% s 并在下面加上一句:( j& t0 j& @: }1 i6 X( D
this.alpha = \"Alpha(Opacity=100, FinishOpacity=0, Style=2, StartX=0, StartY=0, FinishX=200, FinishY=0)\";9 G: k7 F1 F0 e% E4 h
然后找到这句:
- H/ @. Z4 {5 A3 Gl.style.backgroundColor = menu.menuItemBgColor;, ?# A$ {' `' c9 \8 `
在它下面加上一句:5 R c) A. H* U% E
l.style.filter = menu.alpha;
3 Q% f- {6 b) {% @ 存盘,回到HTML文件按F12预览,效果如下图所示,是不是很有趣啊!这样的CSS滤镜还有很多,大家可以自己找一些相关资料实践一下。 顺便提一下,大家在查找代码时可以充分利用DW4的查找替换功能,在页面中按Ctrl+F快捷键调出查找替换窗,输入要查找的代码,按Find Next就可以了。" g h# ]% `% y
" ~; P) l8 G6 b! o \ 2 }- N4 Z' r5 t8 J% O r4 a5 _) x
! I+ @& C! p4 T' }3 H?
$ a* _- T$ w: N& Y? |
|