| 主页制作动态技术 | |||
|
| |||
| 作者: 濮 青 来源: 起点工作室 传统的主页以文字和简单图像所构成,比较平实单一。现在,随着w3c组织(www.w3c.org)定义的新的html 4.0规范的出现,多种动态主页技术层出不穷,如css、asp、dao、cgi、java脚本等,这些都极大地丰富了主页创作的手法和技术,给每一个网页设计者带来了更强大的工具。如今的主页是真正的由图象、动画、声音、视频集于一体的,且具有良好交互界面的新型多媒体动态主页。许多在过去想都不敢想的动态效果,如今借助于这些新技术可以轻而易举地实现。本文就网页编制过程中一些动态效果的实现加以描述,希望各位能够借以活跃一下你的网页。 一、菜单技术 菜单技术通常与框架(frame)相结合,一般左侧框架为菜单项,主菜单点击一下可以出现子菜单,再点一下隐去子菜单,非常有趣和实用。菜单技术的实现可以有以下两种技术: 1、多页技术:macromedia的主页即采用这种技术。就是先做一个没有展开项的主菜单的页面,然后分别制作每一个主菜单项展开后的页面,主菜单有多少项,就得做多少个子页面与之相对应。例如: <a name="abc"></a>; <a href="menu_2.htm#abc"><b>click here!</b></a> ...... <a name="abc"></a> <a href="menu_1.htm#abc"><b>click here!</b></a> 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.home.gif"; toc1off = new image(42, 197); toc1off.src = "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=http://www.microsoft.com/ onmouseover = "img_act('toc1')" onmouseout = "img_inact('toc1')"> <img src=home.gif width=100 height=50 border=0 name="toc1"></a> 应该注意的地方有两处: 1.一定要给img赋一个名字,然后在源图片定义处应用这个名字。 2.注意源文件中的各种符号,特别是引号,还要注意源图片文件的路径,最好用相对路径,以免站点上载后无法正常显示。当然,这种交换图片的方式也需要4.0以上版本的浏览器的支持。 四、提示的话 把鼠标放到一幅图片上就能出现提示信息,就像好多软件的按钮给出功能提示一样。这一功能在网页编辑中很容易实现,源代码如下: ...... <img src="../images/button_who.gif" name="who" title="我的个人小档案" alt="我是谁^_^" > ...... title这一属性很有用吧!它可用于除了base、basefont、head、html、meta、param、script、style、title以外的所有元素中,以定义鼠标划过时的提示信息。 以上就网页编制过程中的一些动态技术进行了讨论。web上有许多设计精美、技术先进的页面,分析它们的源码是很好的学习途径。计算机技术在不断地进步,面对这些纷至沓来的新技术:dhtml、css、xml等,只有迎难而上去掌握它,并把它应用到自己的网页上,才能使网页更加活跃生动起来 |
|||
|
| |||