|
基本原理分析
Windows关机效果分析 使用Windows系统的用户在关机的时候,出现的界面只允许用户选择关机、注销或取消动作,而桌面上的程序都不能使用,并且屏幕呈现灰色状态。
本例将仿照这种高亮显示的效果在网页上实现.
在网页上运用这种关机效果有什么好处呢?首先,由于单击某一链接后,将用户此时不可用的操作隐藏在后台,将可用的操作放在屏幕最上层,并高亮显示,可以避免用户的误操作。其次,将信息高亮显示,也可以提醒用户应该注意的事项。 网页中实现关机效果分析 在网页中实现这种效果的原理很简单。创建两个图层,一个为遮盖层,覆盖整个页面,并且显示为灰色;另一个图层作为高亮显示的部分,在遮盖层的上方,这可通过设置图层的z-index属性来设置。当取消关机效果后,只需将这两个图层元素在页面中删除即可。 以下代码实现显示关机效果。
<html> <head> <title>html" class="wordstyle">asp?typeid=119" snap_preview_added="no">Ajax LightBox Sample</title> <style type="text/html" class="wordstyle">asp?typeid=38" snap_preview_added="no">CSS"> #lightbox {/*该层为高亮显示层*/ BORDER-RIGHT: #fff 1px solid; BORDER-TOP: #fff 1px solid; DISPLAY: block; Z-INDEX: 9999; /*设置该层在网页的最上端,设置足够大*/ BACKGROUND: #fdfce9; /*设置背景色*/ LEFT: 50%; MARGIN: -220px 0px 0px -250px; BORDER-LEFT: #fff 1px solid; WIDTH: 500px; BORDER-BOTTOM: #fff 1px solid; POSITION: absolute; TOP: 50%; HEIGHT: 400px; TEXT-ALIGN: left } #overlay {/*该层为覆盖层*/ DISPLAY: block; Z-INDEX: 9998; /*设置高亮层的下方*/ FILTER: alpha(opacity=80); /*设置成透明*/ LEFT: 0px; WIDTH: 100%; POSITION: absolute; TOP: 0px; HEIGHT: 100%; BACKGROUND-COLOR: #000; moz-opacity: 0.8; opacity: .80 } </style> </head> <body> <!--该层为覆盖层 --> <div id="overlay"></div> <!--该层为高亮显示层 --> <div id="lightbox"></div> </body> </html> 需要注意的是,在IE浏览器中如果有<select>标记,则该标记不能被覆盖层覆盖,但在其他浏览器中则可以覆盖。
在使用IE浏览器时,要先将网页中的<select>元素隐藏起来。如以下代码可以用于隐藏页面所有的<select>元素。 selects = document.getElementsByTagName('select');
for(i = 0; i < selects.length; i++) { selects[i].style.visibility = visibility; }
代码实现 客户端代码 客户端的页面上有两个链接,用户单击链接后,向服务器端发送请求,并将返回信息显示到高亮层上。客户端的网页文件代码如下所示:
<html> <head> <title>AJAX LightBox</title> <!-- 本例使用的css样式表文件--> <LINK href="lightbox.css" type=text/css rel=stylesheet> <!--prototype类文件--> <script type="text/html" class="wordstyle">asp?typeid=36" snap_preview_added="no">html" class="wordstyle">javascript" src="js/prototype.js" ></script> <!--本例使用的html" class="wordstyle">javascript代码--> <script type="text/html" class="wordstyle">javascript" src="lightbox.js" ></script> </head> <body> <DIV id=container> <UL> <LI><A class=lbOn href="getInfo.html" class="wordstyle">jsp?id=one">One</A> </LI> <LI><A class=lbOn href="getInfo.html" class="wordstyle">jsp?id=two">Two</A> </LI> </UL> </div> </body> </html>
另外,还需要设置该页面所使用CSS样式。lightbox.css样式表文件代码如下所示:
#lightbox { BORDER-RIGHT: #fff 1px solid; BORDER-TOP: #fff 1px solid; DISPLAY: none; Z-INDEX: 9999; BACKGROUND: #fdfce9; LEFT: 50%; MARGIN: -220px 0px 0px -250px; BORDER-LEFT: #fff 1px solid; WIDTH: 500px; BORDER-BOTTOM: #fff 1px solid; POSITION: absolute; TOP: 50%; HEIGHT: 400px; TEXT-ALIGN: left } UNKNOWN { POSITION: fixed } #overlay { DISPLAY: none; Z-INDEX: 5000; FILTER: alpha(opacity=80); LEFT: 0px; WIDTH: 100%; POSITION: absolute; TOP: 0px; HEIGHT: 100%; BACKGROUND-COLOR: #000; moz-opacity: 0.8; opacity: .80 } UNKNOWN { POSITION: fixed } .done#lightbox #lbLoadMessage { DISPLAY: none } .done#lightbox #lbContent { DISPLAY: block } .loading#lightbox #lbContent { DISPLAY: none } .loading#lightbox #lbLoadMessage { DISPLAY: block } .done#lightbox IMG { WIDTH: 100%; HEIGHT: 100% }
客户端脚本 由于浏览器对图层的支持不同,所以首先要确定客户端浏览器的类型。以下代码可用于判断客户端的浏览器和html" class="wordstyle">asp"
snap_preview_added="no">操作系统。 var detect = navigator.userAgent.toLowerCase(); var OS,browser,version,total,thestring; function getBrowserInfo() { if (checkIt('konqueror')) { browser = "Konqueror"; OS = "html" class="wordstyle">asp?typeid=60" snap_preview_added="no">Linux"; } else if (checkIt('safari')) browser = "Safari" else if (checkIt('omniWeb')) browser = "OmniWeb" else if (checkIt('opera')) browser = "Opera" else if (checkIt('Webtv')) browser = "WebTV"; else if (checkIt('icab')) browser = "iCab" else if (checkIt('msie')) browser = "Internet Explorer" else if (!checkIt('compatible')) { browser = "Netscape Navigator" version = detect.charAt(8); } else browser = "An unknown browser"; if (!version) version = detect.charAt(place + thestring.length); if(!OS) { if (checkIt('linux')) OS = "Linux"; else if (checkIt('x11')) OS = "Unix"; else if (checkIt('mac')) OS = "Mac" else if (checkIt('win')) OS = "Windows" else OS = "an unknown operating system"; } } functi[1] [2] [3] 下一页 |