下拉菜单全攻略之Fireworks篇(二)

[复制链接]
查看: 293|回复: 0
gggds 发表于 2009-12-27 03:24:17 | 显示全部楼层 |阅读模式
  一种是如前图所示的HTML模式,一种是如后图所示的Image(贴图)模式。它们的区别是,HTML模式下,菜单样式完全由代码控制,即时计算生成,显示速度当然极快,非常流畅;Image模式下,菜单条目的背景可以显示图片,每次菜单弹出时,就会即时下载背景贴图,这样对高速网络用户来说几乎感觉不到,但是对慢速网络用户,就会明显觉察到贴图下载显示的时间滞后,造成不流畅的感觉。但是由于Image模式生成的菜单可以使用漂亮的贴图,虽然FW4种提供选择的贴图样式并不多,共21种,但只要在输出后,找到这些图片,用自定义的尺寸一致图片替换掉,就可以做出完全属于自己的个性菜单,比如在贴图上打上你自己的网站LOGO等等。这里笔者选择HTML模式。样式设置窗中,Up State是用来设置菜单条目处于普通状态时的样式,Over State是用来设置鼠标移到菜单条目上时的样式。另外,Font是用来选择显示的字体,为了在网页上能清晰显示字体,建议大家在字体大小Size中选择12,\"B\"按钮是使用粗体字,\"I\"按钮是使用斜体字。样式设置将即时在下方的Preview区域中显示,完成设置后点Finish按钮生成弹出菜单。3 r4 V8 T) k- v: ?1 i% G3 r
4. 调整弹出菜单位置
7 r8 x/ ]6 V/ G8 ^- Q' y+ ~  _8 E  如图所示,生成的弹出菜单将以蓝色线框表示,它的位置就是鼠标移到母菜单按钮上它弹出的位置,大家可以点住弹出菜单的蓝色线框,拖拉到你想要它弹出的位置,比如笔者想让它在母菜单按钮下方弹出。
2 A$ @$ S8 a% i" \$ c$ W% u9 O( N/ G1 e2 j
6 b% [$ v; o/ x4 S; p) ]1 o5 i

  c7 g$ _" W. S/ M  p5 h5.调整母菜单按钮与弹出菜单样式一致
  b' I$ j8 K2 O$ p9 Q  T7 `$ N   有的朋友说,既然弹出菜单已经有样式了,那么母菜单怎么办?其实笔者早已想到,所以刚开始把母菜单做成了按钮对象,双击母菜单按钮对象,打开按钮对象编辑窗,自己动手改按钮的各个状态吧,这属于FW4的基本操作,笔者这里就不罗嗦了。$ k* d% h- S2 W) i% |

; E/ B8 r& c: \3 o& t7 s. V  T) d

, B0 B& ^9 Y3 Y  e4 W) {1 O) `6.输出弹出菜单
+ V6 Z# {7 U& i$ y2 B$ f& X   刚才一直跟着做一定很累,所以另外还有一个矩形就留给大家自己练习一下。完成后可以选择File菜单下的Export Preview,或者按Ctrl+Shift+X快捷键打开输出设置窗口。如图十七所示,在Option标签页下方的透底选项中选择Alpha Transparency,Matte(基底色)中选择你实际网页使用的背景色,这样菜单就可以和你的网页天衣无缝地融为一体。
' V) ^: T! [: b% Y1 F+ [$ m" A# H1 B0 S. H; q
' e, i8 p- ^1 v! o- {# U8 R) R
# u0 Z6 t' ~& j0 y
  点Export按钮,如图十八,自己设置输出路径和文件名,并选择保存类型为HTML and Images,HTML选项中选Export HTML File,Slices选项中选Export Slices,最后点保存按钮,弹出菜单就输出完成了。& l$ v( o! ?9 z% A2 z' g. e
" N$ [; W% F" m8 d! N3 Y
$ ]: z* y) _! C) I' `& {, p

. q: v& K- E' `  q6 p! Q# v2 t现在你可以打开你输出的HTML文件看看你的工作成果了。关掉FW4吧,下面没它的事儿了。' y$ y  q; a8 r/ F
二、 在DW4中设置弹出菜单7 s( ^. w) Q( B6 M4 q' e6 s, e) b  _
1. 将弹出菜单导入DW45 V& D: T0 F$ p- q
   打开DW4,新建或打开一个站点(Site),在站点中新建一个HTML文件,存盘,然后选择Insert菜单下的Interactive Images中的Fireworks HTML,或者选择Window菜单下的Objects或按Ctrl+F2快捷键打开Objects(对象)面板,从面板上的Common类中选择那个Fireworks的图标(如图十九),: E& l  `: `2 q4 ]$ g. a* E, `% R9 v
2 \- P# J1 m4 f9 e% I

9 e4 Y# m3 N+ {  G  a% {
4 l+ ]5 L5 [1 d! V在弹出的对话窗中点Browser按钮,选择你刚才FW4中输出的HTML文件,点OK按钮,刚才做好的弹出菜单就导进来了。如果你的FW4弹出菜单输出文件没有在当前的站点中,那么DW4还会问你是否要将这些文件复制到站点中来,一定要选OK,并且最好单独为这些文件在站点中建一个文件夹。现在可以按F12预览一下效果了,是不是不像想象中的那么cool?弹出菜单好象边框很粗!因为当前使用的是默认的样式。没关系,接下来就来动点小手术!3 H7 Y2 H. i) y6 s& F1 p
2. 在DW4中重新设置菜单样式% v) j5 S0 L/ K
   如图可以看到刚才复制到站点中来的FW4弹出菜单文件中有这样一个文件--fw_menu.js,
/ d; b9 _' U( i/ _( z+ ?' I; J
' @' T5 e9 ^3 ~( G& S7 ?3 Z# x( ~, T6 r3 z5 r2 ~

4 K2 E- S1 m5 G) \用DW4将它打开,在文件的开头部分可以看到这样一段代码:1 r7 h5 I1 @: T1 r% j
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\";
# Y7 j" h! m# c- S: ?6 A2 x  注意this.后面的变量名,下面是直接影响菜单效果的变量名对应的菜单属性:
8 H) i+ ~5 n! F6 O* gmenuWidth: 菜单宽度menuItemHeight : 菜单条目高度fontWeight: 菜单条目文字粗细fontFamily: 菜单条目文字字体fontSize: 菜单条目文字大小fontColor: 菜单条目文字颜色fontColorHilite: 菜单条目文字高亮色(即鼠标移到菜单上时文字的颜色)bgColor: 菜单暗边背景色menuBorder: 菜单边框宽度menuItemBorder: 菜单条目边框宽度(其实是菜单内各条目之间分隔线的宽度)menuItemBgColor: 菜单条目背景色menuLiteBgColor: 菜单亮边背景色menuBorderBgColor: 菜单边框背景色menuHiliteBgColor: 菜单条目背景高亮色(即鼠标移到菜单上时背景的颜色)childMenuIcon: 子菜单扩展标记(默认是个小黑箭头)
* G. ]; D$ }+ }$ {$ k8 K   弹出菜单的样式是遵循下图中的规则的,大家可以细细研究一下,对照起来修改参数。7 e! s. b9 P5 Q

! N  O+ G1 L( ?+ J8 A& `
6 {  N% ^4 q: m+ u$ @4 d
; f4 ]  D2 }: S; m6 K( Z  由于篇幅限制,笔者在这里就不赘述了,先给出一个修改其中一些参数的样例,余下的大家可以自行测试:
* Z+ Q  N1 z% nthis.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\";
! d) U3 G* c& r9 O   存盘,回到菜单的HTML文件,F12预览,菜单样式已经发生了变化,菜单边框变细致了,是不是很cool啊!
) Y: O$ ]' i( }4 I6 q( _3 p- i4 \2 B/ t0 @7 T
* l- t7 D* ^, Z/ R

* {* A  s$ V. V7 U, r" p. {3. 弹出菜单缩回停留时间的修改# n# f" q6 R% d* r+ E- y; M( }
  大家会发现弹出菜单要收回似乎要等待一两秒的时间,没关系,在fw_menu.js中找到这句代码:4 R- u3 F! x' ?: a0 ?- q0 y
fwHideMenuTimer = setTimeout(\"fwDoHide()\", 1000);
3 U# D  E4 O0 c& O* B  将其中的1000改成300,再找到这句代码:1 y7 A1 m8 C- m5 T
if (elapsed < 1000) {fwHideMenuTimer = setTimeout(\"fwDoHide()\", 1100-elapsed);return;}* J2 Z7 G. g  y; H7 K5 g
  将其中的1000改成300,1100改成330,存盘,再回到HTML文件按F12预览一下,是不是快多了。这些数值是以毫秒为单位的,也就是说1000代表1秒,建议这些数值不要设得太小,否则菜单收回太快会导致你点不中弹出菜单。4. 特殊效果的弹出菜单
2 h& u  {+ b6 V" y8 u  运用&106avascript来调用和控制CSS滤镜还可以为菜单带来意想不到的效果。在fw_menu.js中使用这样的参数设置:
6 u* t! E& S' K" N3 Ethis.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\";
" q6 K+ A" s8 g5 d% H  并在下面加上一句:- G; R* S2 ~# M: w& o; a0 O
this.alpha = \"Alpha(Opacity=100, FinishOpacity=0, Style=2, StartX=0, StartY=0, FinishX=200, FinishY=0)\";6 B9 @5 i( E  n( Z6 V3 C  z; A
  然后找到这句:
6 Y* q( E& M; N6 [l.style.backgroundColor = menu.menuItemBgColor;
/ k6 O; z3 {5 r0 }' V# u' z  在它下面加上一句:
, x, Z5 V* I* j7 k- fl.style.filter = menu.alpha;
' e( K" S( R1 \8 j) U; S9 T7 n  存盘,回到HTML文件按F12预览,效果如下图所示,是不是很有趣啊!这样的CSS滤镜还有很多,大家可以自己找一些相关资料实践一下。 顺便提一下,大家在查找代码时可以充分利用DW4的查找替换功能,在页面中按Ctrl+F快捷键调出查找替换窗,输入要查找的代码,按Find Next就可以了。
+ C" H' T6 ~9 c4 i/ N9 C6 a  C8 k
8 R% O' C! @, F9 r! g0 j! U8 t( u, j" _2 N& I: N! Y3 ~

0 l- g# I' f$ Q) g/ s5 E& r' k?
0 e6 F5 t& L; U' ]! W) Z?

本版积分规则

精彩图文

Copyright   ©2015-2016  展示网  Powered by©Discuz!  技术支持:凡尚展览     ( 粤ICP备14065977号 )