AJAX之lightBox


Lightbox的效果类似于WinXP操作系统的注销/关机对话框,除去屏幕中心位置的对话框,其他的区域都以淡出的效果逐渐变为银灰色以增加对比度,此时除了对话框内的表单控件,没有其他区域可以获取焦点。

Lightbox的作用则相当于从前只在IE中被支持的"Modal Dialog";现在在FireFox也可用window.open(url, name, " modal=yes ");

来实现同样的效果。使用"Modal Dialog"将限制用户的操作于弹出的对话框中,只有完成设定好的操作后方才关闭。在一些逻辑敏感的应用中强制吸引用户的注意力以防止用户的误操作导致程序逻辑淆乱。

其实 Lightbox 并不新鲜,在前年Ajax未诞生之前,它是以 "Inline Popup"的名号出现的。诞生的原因是因为屏蔽弹出窗口的技术纷纷被浏览器采用,而浏览器厂商间也没有一个统一的 Popup 解决方案。当时我记得还有一些说"Inline Popup"破解了弹出窗口屏蔽的报道。

"Inline Popup" 并不被很多人关注,不过我还是发现国内的163信箱去年改版推出的时候大量使用了此效果。Ajax 名正言顺之时,"Inline Popup"也重装再现了,并换了一个有美感的名字 "Lightbox"。

第一次使用WinXP的时候,关机时的阴暗渐变效果让我颇为惊艳。利用Lightbox引导用户的注意力完成预先设定的操作,良好的对比度效果营造温和的视觉氛围。相信在当前交互界面日益接近桌面的Web应用中,Lightbox 也将会成为Ajax的重要设计模式之一。

使用方法:
http://www.huddletogether.com/projects/lightbox2/

http://www.huddletogether.com/projects/lightbox/

 1 None.gif < input type = " button "  value = " 点击这里 "  onclick = " sAlert('测试效果<br>还可以直接书写HTML代码 <br>&copy; 2006'); "   />
 2 None.gif
 3 None.gif < script type = " text/javascript "  language = " javascript " >
 4 None.gif // Author:Daviv
 5 None.gif// Blog:http://blog.163.com/jxdawei
 6 None.gif// Date:2006-10-28
 7 None.gif// Email:jxdawei@gmail.com
 8 ExpandedBlockStart.gifContractedBlock.gif              function  sAlert(str) dot.gif {
 9InBlock.gif            var msgw,msgh,bordercolor;
10InBlock.gif            msgw=400;//提示窗口的宽度
11InBlock.gif            msgh=100;//提示窗口的高度
12InBlock.gif            bordercolor="#336699";//提示窗口的边框颜色
13InBlock.gif            titlecolor="#99CCFF";//提示窗口的标题颜色
14InBlock.gif            
15InBlock.gif            var sWidth,sHeight;
16InBlock.gif            sWidth=document.body.offsetWidth;
17InBlock.gif            sHeight=document.body.offsetHeight;
18InBlock.gif            
19InBlock.gif
20InBlock.gif            var bgObj=document.createElement("div");
21InBlock.gif            bgObj.setAttribute('id','bgDiv');
22InBlock.gif            bgObj.style.position="absolute";
23InBlock.gif            bgObj.style.top="0";
24InBlock.gif            bgObj.style.background="#777";
25InBlock.gif            bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
26InBlock.gif            bgObj.style.opacity="0.6";
27InBlock.gif            bgObj.style.left="0";
28InBlock.gif            bgObj.style.width=sWidth + "px";
29InBlock.gif            bgObj.style.height=sHeight + "px";
30InBlock.gif            document.body.appendChild(bgObj);
31InBlock.gif            var msgObj=document.createElement("div")
32InBlock.gif            msgObj.setAttribute("id","msgDiv");
33InBlock.gif            msgObj.setAttribute("align","center");
34InBlock.gif            msgObj.style.position="absolute";
35InBlock.gif            msgObj.style.background="white";
36InBlock.gif            msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
37InBlock.gif            msgObj.style.border="1px solid " + bordercolor;
38InBlock.gif            msgObj.style.width=msgw + "px";
39InBlock.gif            msgObj.style.height=msgh + "px";
40InBlock.gif          msgObj.style.top=(document.documentElement.scrollTop + (sHeight-msgh)/2+ "px";
41InBlock.gif          msgObj.style.left=(sWidth-msgw)/2 + "px";
42InBlock.gif          var title=document.createElement("h4");
43InBlock.gif          title.setAttribute("id","msgTitle");
44InBlock.gif          title.setAttribute("align","right");
45InBlock.gif          title.style.margin="0";
46InBlock.gif          title.style.padding="3px";
47InBlock.gif          title.style.background=bordercolor;
48InBlock.gif          title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
49InBlock.gif          title.style.opacity="0.75";
50InBlock.gif          title.style.border="1px solid " + bordercolor;
51InBlock.gif          title.style.height="18px";
52InBlock.gif          title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
53InBlock.gif          title.style.color="white";
54InBlock.gif          title.style.cursor="pointer";
55InBlock.gif          title.innerHTML="关闭";
56ExpandedSubBlockStart.gifContractedSubBlock.gif          title.onclick=function()dot.gif{
57InBlock.gif            document.body.removeChild(bgObj);
58InBlock.gif        document.getElementById("msgDiv").removeChild(title);
59InBlock.gif        document.body.removeChild(msgObj);
60ExpandedSubBlockEnd.gif        }

61InBlock.gif          document.body.appendChild(msgObj);
62InBlock.gif          document.getElementById("msgDiv").appendChild(title);
63InBlock.gif          var txt=document.createElement("p");
64InBlock.gif          txt.style.margin="1em 0"
65InBlock.gif          txt.setAttribute("id","msgTxt");
66InBlock.gif          txt.innerHTML=str;
67InBlock.gif      document.getElementById("msgDiv").appendChild(txt);
68ExpandedBlockEnd.gif      }

69 None.gif         </ script >
70 None.gif

转载于:https://www.cnblogs.com/starm/archive/2007/05/28/762545.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值