|
|
一种是如前图所示的HTML模式,一种是如后图所示的Image(贴图)模式。它们的区别是,HTML模式下,菜单样式完全由代码控制,即时计算生成,显示速度当然极快,非常流畅;Image模式下,菜单条目的背景可以显示图片,每次菜单弹出时,就会即时下载背景贴图,这样对高速网络用户来说几乎感觉不到,但是对慢速网络用户,就会明显觉察到贴图下载显示的时间滞后,造成不流畅的感觉。但是由于Image模式生成的菜单可以使用漂亮的贴图,虽然FW4种提供选择的贴图样式并不多,共21种,但只要在输出后,找到这些图片,用自定义的尺寸一致图片替换掉,就可以做出完全属于自己的个性菜单,比如在贴图上打上你自己的网站LOGO等等。这里笔者选择HTML模式。样式设置窗中,Up State是用来设置菜单条目处于普通状态时的样式,Over State是用来设置鼠标移到菜单条目上时的样式。另外,Font是用来选择显示的字体,为了在网页上能清晰显示字体,建议大家在字体大小Size中选择12,\"B\"按钮是使用粗体字,\"I\"按钮是使用斜体字。样式设置将即时在下方的Preview区域中显示,完成设置后点Finish按钮生成弹出菜单。
( }: k N- n& ?/ E; n4. 调整弹出菜单位置0 H! l: b6 K' c. Y. s$ @6 z9 c' \
如图所示,生成的弹出菜单将以蓝色线框表示,它的位置就是鼠标移到母菜单按钮上它弹出的位置,大家可以点住弹出菜单的蓝色线框,拖拉到你想要它弹出的位置,比如笔者想让它在母菜单按钮下方弹出。1 P* w8 p2 E7 C3 y, H/ L8 D
3 z7 i* s* c3 A; N; f
5 G5 H; X$ e7 M
, ~% f3 N( _# q; Y5.调整母菜单按钮与弹出菜单样式一致. p7 {* ~$ o4 W) f
有的朋友说,既然弹出菜单已经有样式了,那么母菜单怎么办?其实笔者早已想到,所以刚开始把母菜单做成了按钮对象,双击母菜单按钮对象,打开按钮对象编辑窗,自己动手改按钮的各个状态吧,这属于FW4的基本操作,笔者这里就不罗嗦了。+ m/ V- s! M1 M+ V) e
! ~5 B- ?; o+ g8 A$ h8 Q 7 C$ F v* a- L+ W& F* `
0 u$ }- p6 u' C# N: V! r6.输出弹出菜单, ^, J m0 K; l2 P; {
刚才一直跟着做一定很累,所以另外还有一个矩形就留给大家自己练习一下。完成后可以选择File菜单下的Export Preview,或者按Ctrl+Shift+X快捷键打开输出设置窗口。如图十七所示,在Option标签页下方的透底选项中选择Alpha Transparency,Matte(基底色)中选择你实际网页使用的背景色,这样菜单就可以和你的网页天衣无缝地融为一体。
0 |4 e7 f) w- k7 H& O5 ~: D) Y8 Z$ D3 [+ W$ ?& S/ o

% z) m1 {% u7 G0 j. f) R* Y/ ~3 Q- y
点Export按钮,如图十八,自己设置输出路径和文件名,并选择保存类型为HTML and Images,HTML选项中选Export HTML File,Slices选项中选Export Slices,最后点保存按钮,弹出菜单就输出完成了。
6 [8 {9 I! Q" m# g# I8 I; z# b0 D
5 |+ U# E" {8 ~5 L) V ' K6 l$ {* S; {7 C+ h8 [/ F# v5 }
7 `/ W+ t9 V+ o2 L现在你可以打开你输出的HTML文件看看你的工作成果了。关掉FW4吧,下面没它的事儿了。
4 `, J: ?( n+ K5 h6 N5 W6 V二、 在DW4中设置弹出菜单
- E8 E( a3 ^: i) Q: F; Y1. 将弹出菜单导入DW4- S1 u: g% i/ e1 E O1 R$ E4 F! j
打开DW4,新建或打开一个站点(Site),在站点中新建一个HTML文件,存盘,然后选择Insert菜单下的Interactive Images中的Fireworks HTML,或者选择Window菜单下的Objects或按Ctrl+F2快捷键打开Objects(对象)面板,从面板上的Common类中选择那个Fireworks的图标(如图十九),: @* e2 i# H% c1 `. _
) F4 H# b( V% L9 Z8 q7 D, ~& N
$ m0 C/ H& a" E. X5 t: K) j4 q i0 {. ? j p/ E* o
在弹出的对话窗中点Browser按钮,选择你刚才FW4中输出的HTML文件,点OK按钮,刚才做好的弹出菜单就导进来了。如果你的FW4弹出菜单输出文件没有在当前的站点中,那么DW4还会问你是否要将这些文件复制到站点中来,一定要选OK,并且最好单独为这些文件在站点中建一个文件夹。现在可以按F12预览一下效果了,是不是不像想象中的那么cool?弹出菜单好象边框很粗!因为当前使用的是默认的样式。没关系,接下来就来动点小手术!& z6 d* g. @: E7 A0 q
2. 在DW4中重新设置菜单样式# R" u. m& N$ u% z" c
如图可以看到刚才复制到站点中来的FW4弹出菜单文件中有这样一个文件--fw_menu.js,
% h& Q; @( ~$ X$ ^" a, @; v* F2 _& I
- \: U5 v0 n0 U) B$ r6 B 8 g0 o8 `' z- r$ X0 K' j' T# x
5 ~; ?* z4 u1 b- u9 k8 I用DW4将它打开,在文件的开头部分可以看到这样一段代码:' m% U! `7 X9 E1 ^) t
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\";
c t: w; o7 g6 o8 P% L 注意this.后面的变量名,下面是直接影响菜单效果的变量名对应的菜单属性: 1 Y1 _/ f+ p' v: a# q# {
menuWidth: 菜单宽度menuItemHeight : 菜单条目高度fontWeight: 菜单条目文字粗细fontFamily: 菜单条目文字字体fontSize: 菜单条目文字大小fontColor: 菜单条目文字颜色fontColorHilite: 菜单条目文字高亮色(即鼠标移到菜单上时文字的颜色)bgColor: 菜单暗边背景色menuBorder: 菜单边框宽度menuItemBorder: 菜单条目边框宽度(其实是菜单内各条目之间分隔线的宽度)menuItemBgColor: 菜单条目背景色menuLiteBgColor: 菜单亮边背景色menuBorderBgColor: 菜单边框背景色menuHiliteBgColor: 菜单条目背景高亮色(即鼠标移到菜单上时背景的颜色)childMenuIcon: 子菜单扩展标记(默认是个小黑箭头)
' ?% H, D3 @' e! ~* Y6 p 弹出菜单的样式是遵循下图中的规则的,大家可以细细研究一下,对照起来修改参数。& W* X5 s/ X p: ^
- V4 ]; R$ N" g0 X* V+ }8 W1 l( O/ W
2 a5 U& R$ j9 f" f p; c( N/ O6 ]( R
由于篇幅限制,笔者在这里就不赘述了,先给出一个修改其中一些参数的样例,余下的大家可以自行测试:0 L, @% F1 T$ r! M7 F9 E( s" E
this.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\";
) Z; K! F' n2 [3 w& I$ w# p& ?- } 存盘,回到菜单的HTML文件,F12预览,菜单样式已经发生了变化,菜单边框变细致了,是不是很cool啊!
; s4 _/ l# c* E& G" X9 @
& o- x5 z1 l4 W( X1 V0 f, Y, E 8 U% s4 f$ V9 w0 z6 o# `7 Z: a
+ V- N' W! d/ |# ]3. 弹出菜单缩回停留时间的修改
7 `8 [) Y2 {6 r7 b3 J) D, A: f 大家会发现弹出菜单要收回似乎要等待一两秒的时间,没关系,在fw_menu.js中找到这句代码:5 G* w5 V4 l2 D- n, _; i$ s
fwHideMenuTimer = setTimeout(\"fwDoHide()\", 1000);* C3 K8 c, @8 }/ T. c6 O$ c0 R
将其中的1000改成300,再找到这句代码:: x' [* O6 J$ D# z
if (elapsed < 1000) {fwHideMenuTimer = setTimeout(\"fwDoHide()\", 1100-elapsed);return;}
7 a/ z- q& y" G G" |4 r 将其中的1000改成300,1100改成330,存盘,再回到HTML文件按F12预览一下,是不是快多了。这些数值是以毫秒为单位的,也就是说1000代表1秒,建议这些数值不要设得太小,否则菜单收回太快会导致你点不中弹出菜单。4. 特殊效果的弹出菜单
8 t% k3 H& z, I" z1 i/ b- F5 c+ } 运用&106avascript来调用和控制CSS滤镜还可以为菜单带来意想不到的效果。在fw_menu.js中使用这样的参数设置:- ]7 G- w/ M+ [( B% h
this.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\";
" O _/ c, A# T 并在下面加上一句:* E/ N1 N" L7 Z' D* j: Z ~
this.alpha = \"Alpha(Opacity=100, FinishOpacity=0, Style=2, StartX=0, StartY=0, FinishX=200, FinishY=0)\";
/ a% W& s8 f6 \% d' ?' F1 G 然后找到这句:6 o f% b8 N. u. W% s |$ q
l.style.backgroundColor = menu.menuItemBgColor;2 n' g0 e2 X: d; M, i' J
在它下面加上一句:8 m" ~1 q2 O5 P# W+ q3 J
l.style.filter = menu.alpha;
2 u& w$ J0 h, n9 h4 e. Y8 ?5 j/ I 存盘,回到HTML文件按F12预览,效果如下图所示,是不是很有趣啊!这样的CSS滤镜还有很多,大家可以自己找一些相关资料实践一下。 顺便提一下,大家在查找代码时可以充分利用DW4的查找替换功能,在页面中按Ctrl+F快捷键调出查找替换窗,输入要查找的代码,按Find Next就可以了。# S. d U* G' a8 Q" A D
) i- T. ^( [' M" r) i5 v # @; }7 A H8 |) X- G$ G ~: D
! l/ |. c" [% i8 o5 n8 T \/ w?
V7 u/ `+ p8 k; v# U) z, K? |
|