时间: 2021-07-31 作者:daque
{ 在往日的HTML里,元素的场所只能顺序陈设,咱们很难透彻地定位与遏制网页中的少许元素。CSS2Cascading Style Sheet Level 2,层叠款式单第二版的构造Layout属性展示并获得欣赏器的普遍扶助之后,咱们不只不妨静态地实行之上手段,并且不妨按照鼠标、键盘、功夫等预订义好的外界事变动静地变换构造。时下特殊时髦的网页中“震动的层”便是它的一种局面的应用,咱们这边要讲的是怎样应用那些属性贯串少许DHTML东西在网页中实行一致Windows窗口的下拉菜单(如图所示)。请看以次代码及精细证明。
<-- 以次局部该当插在代码的<head>之后 -->
<style><--
/ 这是少许CSS款式。个中″btnTD″是按钮在被按下之前“杰出”的款式类:边框被树立为宽窄为1个像素的实线,个中左边框和上边框脸色为淡色(这边为白色),右下边框为深色(暗灰色),即使后台为灰色的HTML元素(如单位格)运用这个款式的话,那就特殊像一个“凸出”的按钮;“btnDTD”是按钮被按下时“凹下”的款式。 /
.btnTD border-left 1 solid #ffffff border-right 1 solid #808080
border-top 1 solid #ffffff border-bottom 1 solid #808080
.btnDTD border-left 1 solid #808080 border-right 1 solid #ffffff
border-top 1 solid #808080 border-bottom 1 solid #ffffff
td font-family 宋体 font-size 9pt
--></style>
<script language=″JavaScript″><--
//确定哪个按钮被按下的全部变量
var intBlnClk=0
//鼠标过程、摆脱、点击变动单位格CSS款式的因变量
function mOvrOutobjSrc
var argvargcblnActivestrColorstrBgColorstrClassstrClassDstrCursor
argv=mOvrOut.argumentsargc=argv.length
/默许情景下不将暂时东西置为“激活”/
blnActive=argc>1﹖evalargv[1]false
/默许鼠标过程暂时东西的款式为“凸出的按钮形”/
strClass=argc>2 && argv[2]=′′﹖argv[2]′btnTD′
/默许鼠圈点击的功夫暂时东西为“凹下的按钮形”/
strClassD=argc>3 && argv[3]=′′﹖argv[3]′btnDTD′
/将暂时东西激活功夫的前局面为白色、背局面为蓝色、鼠标款式为手形/
strColor=′#ffffff′strBgColor=′#000080′strCursor=′hand′
/IE4及其更高本子才扶助那些JavaScript对CSS款式的动静变换/
ifdocument.all
//将暂时东西的鼠标款式置为参数传播值
objSrc.style.cursor=strCursor
//即使是鼠标加入暂时东西范畴
ifobjSrc.containsevent.fromElement
/树立为震动款式/
ifblnActive objSrc.bgColor=strBgColorobjSrc.style.color=strColor
/暂时东西不须要置为震动款式的功夫,即使从来的款式是“凸出的按钮形”则置为“凹下的按钮形”,反之亦然/
else objSrc.className=intBlnClk=0﹖strClassDstrClass
//鼠标摆脱暂时东西地区
else ifobjSrc.containsevent.toElement
//将那些款式置为默许值
objSrc.bgColor=′′objSrc.style.color=′′objSrc.className=′′
/ 表露/湮没层的通用因变量。用objNS、objIE、strStu动作参数,个中objNS和objIE辨别是Netscape和IE的“层”东西,strStu为层的状况。由于篇幅所限,请察看正文尾部证明。 /
function shoHidLayers
/ 挪用上头的因变量,表露/湮没参数传播的层,如许是为了简化代码。这边不给出精细因变量。/
function showLayerintCurrent
//--></script></head>
<body onMouseDown=″ifwindow.event.srcElement.style.color==′′ showLayer1′hide′″>
<-- 之上body局部的效率是当鼠标没有按卸任何按钮的功夫湮没一切该当湮没的“菜单”。以次是两个用CSS构造设置的层,名为“menu”的层的初始状况为:在屏幕上的一致场所为(1212),可视,层z-index属性为100;“menu1”为不行视。 -->
<div id=″menu″ style=″positionabsolutevisibility visibleleft12pxtop12px z-index 100″><table border=″1″ cellspacing=″0″ cellpadding=″2″ bgcolor=″#c0c0c0″ bordercolor=″#c0c0c0″>
<tr><td onMouseOver=″mOvrOutthis″ onMouseOut=″mOvrOutthis″ onClick=″mOvrOutthisfalse′btnDTD′showLayer1″>天极网</td></tr>
</table></div>
<div id=″menu1″ style=″positionabsolutevisibility hiddenleft11pxtop34px z-index 1″><table border=″0″ cellpadding=″2″ cellspacing=″0″ bgcolor=″#c0c0c0″ class=″btnTD″>
<tr><td onMouseOver=″mOvrOutthistrue″ onMouseOut=″mOvrOutthis″ width=″100%″nowrap onClick=″window.location=′http//www.pcwclub.com/′showLayer1′hide′″>电脑报读者群俱乐部</td></tr>
</table></div>
由于篇幅所限,少许因变量不许精细给出及证明,即使须要完备代码请考察以次链接:http//ctsight.topcool.net/documents/menu.html。