网页中的“动态滤镜”——Filter的运用

Author: 潘泳 Date: 2000年 第41期

  众所周知,Javascript或Vbscript作为脚本语言,其功能是不完善的,有许多高级语言的功能无法实现,如图像的处理功能。Filter是微软对CSS的扩展,与PhotoShop中的滤镜概念相似,它可以用很简单的方法对页面中的文字作出特效处理,如各种淡入淡出的动态效果。
  动态滤镜可以为页面添加动人的淡入淡出、图象转化效果,它可以分为两种blend(混合)和reveal(显示),前者可以使对象渐渐消失或出现,后者提供了24种图象转化的效果。对于动态滤镜的调用除去像在静态滤镜中要定义的滤镜类型、参数等外,还要用脚本语言控制它的状态。首先,在开始一个动态效果之前,先需要进行装备(Apply),然后播放(Play)动态效果;在动态效果进行中还可以中断动态效果(Stop),以上可以用下面的方法实现:
  对象名.filters(滤镜数值).Apply()
  对象名.filters(滤镜数值).Play()
  对象名.filters(滤镜数值).Stop()
  对于滤镜状态的判断可以通过“对象名.filters(滤镜数值).status”判断,该值为0时,表示滤镜未执行,为1时,表示滤镜已经完成,为2时表示滤镜在执行中。
  在定义filter时,如上面所提到的,可以有混合(“filter:blendTrans(duration=时间数值)”,duration表示滤镜执行需要的时间,单位为秒)和显示(“filter:revealTrans(duration=时间数值,transition=过渡类型)”,过渡类型为0~23的数值)两种,在Frontpage98中也可以通过设定页面的参数得到。如要在进入页面时显示某种特效,则可以在“<body>”标记前加入“<meta http-equiv=″Page-Enter″ content=″revealTrans(Duration=1.0,Transition=22)″>”,这个特效可在Frantpage98菜单的“样式/页面特效”中找到,而且你也可以在reveal其中找到24种特效的名称,值得一提的是第24种特效可以随机从前23种之一中选择一种显示。