答案:传统的主页以文字和简单图像所构成,比较平实单一。现在,随着W3C组织(www.w3c.org)定义的新的HTML 4.0规范的出现,多种动态主页技术层出不穷,如CSS、ASP、DAO、CGI、JAVA脚本等,这些都极大地丰富了主页创作的手法和技术,给每一个网页设计者带来了更强大的工具。如今的主页是真正的由图象、动画、声音、视频集于一体的,且具有良好交互界面的新型多媒体动态主页。许多在过去想都不敢想的动态效果,如今借助于这些新技术可以轻而易举地实现。本文就网页编制过程中一些动态效果的实现加以描述,希望各位能够借以活跃一下你的网页。
一、菜单技术
菜单技术通常与框架(Frame)相结合,一般左侧框架为菜单项,主菜单点击一下可以出现子菜单,再点一下隐去子菜单,非常有趣和实用。菜单技术的实现可以有以下两种技术:
1、多页技术:Macromedia的主页即采用这种技术。就是先做一个没有展开项的主菜单的页面,然后分别制作每一个主菜单项展开后的页面,主菜单有多少项,就得做多少个子页面与之相对应。例如:
<a name="abc"></a>;
<a href=>
......
<a name="abc"></a>
<a href=>
list 1<br> list 2<br> list 3<br>具体实现时,一定要注意标签<a name=" ">的定义和使用,要做到一一对应,否则就会乱套。另外,当菜单项很多时,记住只有当前列出的子菜单处用<a name=" ">来定义,别的主菜单项应分别链接到它相应展开的页面去。
这种方法实现得很简单,而且任何浏览器均可支持,但它的缺点也是明显的。首先是慢,来回调用各个页面必然带来长时间的等待,只有页面上都是文字时,才感觉不到停滞;再就是编制困难,虽然技术简单,但是一个一个地制作实在是有点麻烦。因此,这种技术还是有一定的局限性的。
2、DHTML技术:在Microsoft主页上就采用这种技术。DHTML是比较新的技术,因此对于一些"古老"的浏览器来说,这种菜单实现方式就无能为力了。 例如:单击"点击这里"立刻就出现了下面的菜单,再点一下又隐去了,与多页技术相比,速度较快:
<style TYPE="text/css">
.NV1 {font-family:Arial;font-weight:bold;font-size:.9em;
cursor:hand;margin-top:10;text-indent: -14;margin-left: 14;}
.NV2 {position:relative;font-size:.9em;font-weight:normal;}
</style>
......
<script TYPE="text/javascript">
function clikker(a,b) {
if (a.style.display==''){a.style.display='none';b.src='photo.gif';}
else { a.style.display=''; b.src='photo.gif'; }}
</script>
......
<div CLASS="NV1" ID="BB" onClick="clikker(BB1,BBp);">
<dd><img ID="BBp" SRC="photo。gif" ALT="*" ALIGN="MIDDLE"
BORDER="0" WIDTH="11" HEIGHT="11">
点击这里
<div CLASS="NV2" ID="BB1" STYLE="display:'';"
onclick="window.event.cancelBubble = true;">
<a HREF=>http://abc/">点击这里</a> </div></dd></div>
在源代码中,.NV1和.NV2是CSS字体定义,clikker函数是控制菜单项显示和隐藏的,其中变量a控制文字,变量b控制图片(图中未显示)。在实际应用时,请注意div所定义的范围,不要在点击时把别的主菜单项也隐去了。
DHTML技术的实现方式相对比较高明,它速度快,制作比较简单,只需要一个页面就行了。不足之处是至少需要IE 4.0或NC 4.0以上版本的支持。
二、文字变色
这是Web上最常见的技术,当鼠标划过某个元素时,该元素立刻改变颜色,有时还会发出声音,就象多媒体教育软件一样。如果颜色调配得好,页面就会非常令人喜爱。实现文字变色的方法也有好多种,这里只简单地介绍其中的两种。
1、单纯使用CSS技术,目前还只有IE 4.0支持这种技术。例如:
<style type="text/css">
BODY { background: white; }
A:link { color: red }
A:visited { color: maroon }
A:active { color: fuchsia }
A:hover {color:blue}
</style>
在这个示例中,链接文字起初用红色显示,当鼠标划过文字时变为蓝色,点击访问时改为紫红色,访问之后又变为栗色。由于Netscape还不支持link、visited、hover等CSS属性,因此,如果各位使用Communicator浏览器的话,就看不到这些效果了。
2、利用javascript脚本:例如:
<script language="javascript">
function MM_changeProp(objStrNS,objStrIE,theProp,theValue) {
var theObj = eval((navigator.appName == 'Netscape')?objStrNS:objStrIE);
if ((theObj != null) && (theProp.indexOf("style.") != 0 &&
theObj.style != null))
eval(((navigator.appName == 'Netscape')?objStrNS:objStrIE)+'.'+theProp
+ '="'+ theValue+'"'); }
</script>
......
<span class="css1" ID="x"
onmouseover="MM_changeProp('','document.all[\'x\']','style.color',
'red','SPAN')"
onmouseout="MM_changeProp('','document.all[\'x\']','style.color',
blue','SPAN')"
改变文本颜色</span>
由于IE 4.0和NC 4.0对对象的控制机制不同,因此脚本需要先检查浏览器,然后再作相应的处理。MM_changeProp()函数实现了这一种文本变色方法。这种方法需要在应变色的每个地方都用SPAN定义ID并添加onmouseover和onmouseout,这与第一种方法相比麻烦了不少。因此,一般还是选择上一种方法。
三、动态按钮
这里的动态按钮既不是gif动画,也不是FrontPage中提供的各种特效按钮。这种动态按钮的情况是:
当鼠标划过某一个按钮时,它会忽然动一下,似乎在易做图着去点击它,很有意思。下面介绍实现方法。准备两幅图片,由于是按钮,不必很大,颜色也不必太花,简单的gif就行,两幅图要有一些差别,以免动了以后看不出来变化。它的实现代码为:
......
toc1on = new Image(42, 197);
toc1on.src = "on.http://old.zzzyk.com/article/Article/home.gif";
toc1off = new Image(42, 197);
toc1off.src = "http://old.zzzyk.com/article/Article/home.gif";
......
function img_act(imgName)
imgon = eval(imgName + "on.src");
document [imgName].src = imgon;
......
function img_inact(imgName)
imgoff = eval(imgName + "off.src");
document [imgName].src = imgoff;
......
<a href=>
onMouseover = "img_act('toc1')"
onMouseout = "img_inact('toc1')">
<img src=http://old.zzzyk.com/article/Article/home.gif width=100 height=50 border=0 name="toc1"></a>
应该注意的地方有两处:
1.一定要给img赋一个名字,然后在源图片定义处应用这个名字。
2.注意源文件中的各种符号,特别是引号,还要注意源图片文件的路径,最好用相对路径,以免站点上载后无易做图常显示。当然,这种交换图片的方式也需要4.0以上版本的浏览器的支持。
四、提示的话
把鼠标放到一幅图片上就能出现提示信息,就像好多软件的按钮给出功能提示一样。这一功能在网页编辑中很容易实现,源代码如下:
......
<img SRC="http://old.zzzyk.com/article/images/button_who.gif" NAME="who"
title="我的个人小档案" ALT="我是谁^_^" >
......
Title这一属性很有用吧!它可用于除了BASE、BASEFONT、HEAD、HTML、META、PARAM、SCRIPT、STYLE、TITLE以外的所有元素中,以定义鼠标划过时的提示信息。
以上就网页编制过程中的一些动态技术进行了讨论。Web上有许多设计精美、技术先进的页面,分析它们的源码是很好的学习途径。计算机技术在不断地进步,面对这些纷至沓来的新技术:DHTML、CSS、XML等,只有迎难而上去掌握它,并把它应用到自己的网页上,才能使网页更加活跃生动起来。