请问如下网站的效果(可以挡住一切的层),怎么作的(直接说,就要是代码)。重金100分重金100分
http://idate.163.com/viewuser.jsp?id=4464116
以上地址的“和她约会”那个按钮,一点就出现了效果,它可能挡住一切。
我把网站另存为了,可是只要动一点代码就不好使了。请比较熟悉JS的朋友,给简化一下代码。只要一个按钮和jS效果就行了,别的都不要了。
把代码粘贴到这个贴子上就行了。看到后,好使就给分。
[解决办法]
昨天发现一个可能的挡住的。在这个基础上再实现个人的作法比较好
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN ">
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
<form action= "# ">
<input name=btn1 type=button value=有自定义按钮 onclick=showalert1();>
<input name=btn2 type=button value=无自定义按钮 onclick=showalert2();>
</form>
<script language= "javascript ">
<!--
function gourl(e){
switch(e){
case 1:
window.alert( "点击了确定按钮. ");
break;
case 2:
break;
case 3:
window.alert( "点击了其它按钮. ");
break;
default:
break;
}
}
function showalert1(){
var Br = new innerMessageBox();
Br.ShowModal( "带第三个按钮的示例 ", "您确定要删除该项吗? ", 320, 120, "gourl($) ", "重试 ");
}
function showalert2(){
var Br = new innerMessageBox();
Br.ShowModal( "默认两个按钮的示例 ", "您确定要删除该项吗? ", 320, 120, "gourl($) ");
}
//-->
</script>
<script>
<!--
function innerMessageBox(){
var BackObject, FormObject;
// 检查页面中是否存在该控件.
function checkIMBObject(){
if (document.getElementById( "imb_Background ")==null){
document.body.innerHTML += " <iframe id=\ "imb_Background\ " src=\ "about:blank\ " style=\ "position:absolute;left:0;top:0;width:0px;height:0px;visibility:hidden;\ " frameborder=\ "0\ "> </iframe> ";
window.imb_Background.document.open();
window.imb_Background.document.write( " <html> <body bgcolor=red> sdfasdfasdf </body> </html> ");
window.imb_Background.document.close();
}
if (document.getElementById( "imb_FormModal ")==null){
document.body.innerHTML += " <iframe id=\ "imb_FormModal\ " src=\ "about:blank\ " style=\ "position:absolute;left:0;top:0;width:0px;height:0px;visibility:hidden;border-bottom:2px solid #999999;border-right:2px solid #999999;border-top:1px solid #F8F6C1;border-left:1px solid #F8F6C1;\ " frameborder=\ "0\ "> </iframe> ";
window.imb_FormModal.document.open();
window.imb_FormModal.document.write( " <html> <head> <style> <!-- ");
window.imb_FormModal.document.write( "td{font-size:12px; ");
window.imb_FormModal.document.write( "//--> </style> </head> <body scroll=no leftmargin=0 topmargin=0> ");
window.imb_FormModal.document.write( " <table width=100% height=100% bgcolor=\ "#eeeeee\ "> <tr> <td align=left bgcolor=#3A80F3> <div id=\ "imb_Title\ " style=\ "padding-left:3px;padding-right:3px;color:white;font-family:verdana;\ "> ");
window.imb_FormModal.document.write( " </div> </td> </tr> <tr> <td align=left> <div id=\ "imb_Content\ " style=\ "padding:7px;\ "> ");
window.imb_FormModal.document.write( " </div> </td> </tr> <tr> <td id=\ "imb_Body\ " align=center> ");
window.imb_FormModal.document.write( " </td> </tr> </table> ");
window.imb_FormModal.document.write( " </body> </html> ");
window.imb_FormModal.document.close();
}
}
// 显示对话框控件.
this.ShowModal = function(iCaption, iMessage, iWidth, iHeight, iClickFunc, iOther){
var smWidth = 420, smHeight = 180, smCaption = "默认对话框 ", smMessage= "您确定执行这项操作吗? ", smFunc, smObject, smAlpha, smInterval;
if (arguments.length > 4 ){
smWidth = iWidth;
smHeight = iHeight;
smCaption = iCaption;
smMessage = iMessage;
smFunc = iClickFunc;
}
// 背景的渐显.
function checkIMBAlpha(){
smObject.style.filter = "alpha(opacity= "+smAlpha+ "); ";
smAlpha += 10;
if (smAlpha> 80){
clearInterval(smInterval);
}
}
checkIMBObject();
this.BackObject = document.getElementById( "imb_Background ");
this.FormObject = document.getElementById( "imb_FormModal ");
smObject = this.BackObject;
smAlpha = 0;
this.BackObject.style.left = 0;
this.BackObject.style.top = 0;
this.BackObject.style.width = document.body.scrollWidth;
this.BackObject.style.height = document.body.scrollHeight;
this.BackObject.style.visibility = "visible ";
smInterval = window.setInterval(checkIMBAlpha, 5);
this.FormObject.style.left = document.body.clientWidth/2 - smWidth/2;
this.FormObject.style.top = document.body.clientHeight/2 - smHeight/2;
this.FormObject.style.width = smWidth;
this.FormObject.style.height = smHeight;
this.FormObject.style.visibility = "visible ";
window.imb_FormModal.document.getElementById( "imb_Title ").innerHTML = " <b> " + smCaption + " </b> " + " -- 操作提示 ";
window.imb_FormModal.document.getElementById( "imb_Content ").innerHTML = smMessage;
if (iOther==null || iOther== " "){
window.imb_FormModal.document.getElementById( "imb_Body ").innerHTML = " <input type=hidden id=imb_Other name=imb_Other shortKey=\ "O\ "> <input type=submit id=imb_Ok name=imb_Ok value=\ "确定\ " shortKey=\ "T\ "> <input type=button id=imb_Cancel name=imb_Cancel value=\ "取消\ " shortKey=\ "C\ "> ";
}else{
window.imb_FormModal.document.getElementById( "imb_Body ").innerHTML = " <input type=button id=imb_Other name=imb_Other value= "+iOther+ " shortKey=\ "O\ "> <input type=submit id=imb_Ok name=imb_Ok value=\ "确定\ " shortKey=\ "T\ "> <input type=button id=imb_Cancel name=imb_Cancel value=\ "取消\ " shortKey=\ "C\ "> ";
}
document.body.disabled = true;
window.imb_FormModal.document.getElementById( "imb_Ok ").onclick= function(){
parent.document.body.disabled = false;
if (smFunc!=null && smFunc!= " "){
eval( "parent. " + smFunc.replace( "$ ", "1 "));
}
parent.document.getElementById( "imb_Background ").style.visibility = "hidden ";
parent.document.getElementById( "imb_FormModal ").style.visibility = "hidden ";
}
window.imb_FormModal.document.getElementById( "imb_Cancel ").onclick= function(){
if (smFunc!=null && smFunc!= " "){
eval( "parent. " + smFunc.replace( "$ ", "2 "));
}
parent.document.body.disabled = false;
parent.document.getElementById( "imb_Background ").style.visibility = "hidden ";
parent.document.getElementById( "imb_FormModal ").style.visibility = "hidden ";
}
window.imb_FormModal.document.getElementById( "imb_Other ").onclick= function(){
if (smFunc!=null && smFunc!= " "){
eval( "parent. " + smFunc.replace( "$ ", "3 "));
}
parent.document.body.disabled = false;
parent.document.getElementById( "imb_Background ").style.visibility = "hidden ";
parent.document.getElementById( "imb_FormModal ").style.visibility = "hidden ";
}
}
}
//-->
</script>
<select name= "select ">
<option value= "aa "> aa </option>
<option value= "aaa "> aaa </option>
</select>
</BODY>
</HTML>
[解决办法]
要盖住 select ActiveX 之类的,
需要使用 iframe 或者 window.popup 之类的
[解决办法]
根本不可能,有挡住任何东西的层,一般如DropDownList等控件都是挡不了。
========================================
谁说挡不住?我的就可以挡住.^_^
参见
http://community.csdn.net/Expert/topic/5735/5735621.xml?temp=.2944452
<body MS_POSITIONING= "GridLayout " >
<script language=javascript>
function sAlert(txt)
{
//var eSrc=(document.all)?window.event.srcElement:arguments[1];
var shield = document.createElement( "DIV ");
shield.id = "shield ";
shield.style.position = "absolute ";
shield.style.left = "0px ";
shield.style.top = "0px ";
shield.style.width = "100% ";
shield.style.height = document.body.scrollHeight+ "px ";
shield.style.background = "#333 ";
shield.style.textAlign = "center ";
shield.style.zIndex = "10000 ";
shield.style.filter = "alpha(opacity=0) ";
shield.style.opacity = 0;
var alertFram = document.createElement( "DIV ");
alertFram.id= "alertFram ";
alertFram.style.position = "absolute ";
alertFram.style.left = "50% ";
alertFram.style.top = "50% ";
alertFram.style.marginLeft = "-225px " ;
alertFram.style.marginTop = -75+document.documentElement.scrollTop+ "px ";
alertFram.style.width = "450px ";
alertFram.style.height = "150px ";
alertFram.style.background = "#ccc ";
alertFram.style.textAlign = "center ";
alertFram.style.lineHeight = "150px ";
alertFram.style.zIndex = "10001 ";
strHtml = " <ul style=\ "list-style:none;margin:0px;padding:0px;width:100%\ "> \n ";
strHtml += " <li style=\ "background:#DD828D;text-align:left;padding-left:20px;font-size:14px;font-weight:bold;height:25px;line-height:25px;border:1px solid #F9CADE;\ "> [提示] </li> \n ";
strHtml += " <li style=\ "background:#fff;text-align:center;font-size:12px;height:120px;line-height:120px;border-left:1px solid #F9CADE;border-right:1px solid #F9CADE;\ "> "+txt+ " </li> \n ";
strHtml += " <li style=\ "background:#FDEEF4;text-align:center;font-weight:bold;height:25px;line-height:25px; border:1px solid #F9CADE;\ "> <input type=\ "button\ " value=\ " 确 定 \ " id=\ "do_OK\ " onclick=\ "doOk()\ " /> </li> \n ";
strHtml += " </ul> \n ";
alertFram.innerHTML = strHtml;
document.body.appendChild(alertFram);
document.body.appendChild(shield);
//加个iframe拖住
adjustiFrame();
this.setOpacity = function(obj,opacity){
if(opacity> =1)opacity=opacity/100;
try{ obj.style.opacity=opacity; }catch(e){}
try{
if(obj.filters.length> 0&&obj.filters( "alpha ")){
obj.filters( "alpha ").opacity=opacity*150;
}else{
obj.style.filter= "alpha(opacity=\ " "+(opacity*150)+ "\ ") ";
}
}catch(e){}
}
var c = 0;
this.doAlpha = function(){
if (++c > 20){clearInterval(ad);return 0;}
setOpacity(shield,c);
}
var ad = setInterval( "doAlpha() ",1);
this.doOk = function(){
document.body.removeChild(alertFram);
document.body.removeChild(shield);
document.body.removeChild(document.getElementById( "ifName "));
document.body.onselectstart = function(){return true;}
document.body.oncontextmenu = function(){return true;}
}
document.getElementById( "do_OK ").focus();
document.body.onselectstart = function(){return false;}
document.body.oncontextmenu = function(){return false;}
}
function adjustiFrame()
{
// 如果没有IFrame,则创建之
if (!document.getElementById( "ifName "))
{
var newNode = document.createElement( "iFrame ");
newNode.setAttribute( "id ", "ifName ");
newNode.setAttribute( "src ", "javascript:false; ");
newNode.setAttribute( "scrolling ", "no ");
newNode.setAttribute( "frameborder ", "0 ");
document.body.appendChild(newNode);
}
iFrameDiv = document.getElementById( "ifName ");
var div = document.getElementById( "alertFram ");
// 调整IFrame的位置与div重合,并在div的下一层
try
{
iFrameDiv.style.position = "absolute ";
iFrameDiv.style.width = div.offsetWidth;
iFrameDiv.style.height = div.offsetHeight;
iFrameDiv.style.marginLeft = div.style.marginLeft;
iFrameDiv.style.marginTop = div.style.marginTop;
iFrameDiv.style.top = div.style.top;
iFrameDiv.style.left = div.style.left;
iFrameDiv.style.zIndex = div.style.zIndex - 1;
//iFrameDiv.style.visibility = div.style.visibility;
}
catch (e)
{
}
}
</script>
<form id= "Form1 " method= "post " runat= "server ">
<asp:Button id= "Button1 " style= "Z-INDEX: 101; LEFT: 224px; POSITION: absolute; TOP: 96px " runat= "server "
Text= "Button "> </asp:Button> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
<asp:DropDownList id=DropDownList1 style= "Z-INDEX: 102; LEFT: 424px; POSITION: absolute; TOP: 248px " runat= "server "> </asp:DropDownList>
<br/>
<br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>
<br/> <br/>
<br/>
<br/>
<br/>
<br/>
</form>
</body>
[解决办法]
<style type= "text/css ">
#tem
{BORDER-RIGHT: #97AED9 1px solid;
BORDER-TOP: #97AED9 1px solid;
BORDER-LEFT: #888 1px solid;
DISPLAY: none;
BACKGROUND: #ffffff;
PADDING-RIGHT: 5px;
PADDING-LEFT: 5px;
Z-INDEX: 5;
PADDING-BOTTOM: 5px;
PADDING-TOP: 5px;
BORDER-BOTTOM: #888 1px solid;
POSITION: absolute;
LEFT:13%;
}
#ser{
BORDER-RIGHT: #97AED9 1px solid;
WIDTH: 100%;left:0px;top:0px;
PADDING-RIGHT: 5px;
BORDER-TOP: #97AED9 1px solid;
DISPLAY: none;
PADDING-LEFT: 5px;
Z-INDEX: 4;
BACKGROUND: #000000;
PADDING-BOTTOM: 5px;
BORDER-LEFT: #888 1px solid;
PADDING-TOP: 5px;
BORDER-BOTTOM: #888 1px solid;
POSITION: absolute;
filter:Alpha(opacity=70);
margin:-10px 0 0 -10px;
</style>
<!--弹出详细-->
<div id= "ser "> </div>
<div id= "tem " align= "center " >
这里放内容 JS控制是否弹出
</div>
[解决办法]
这个应该可以满足LS的要求。你可自己看里面的源码。我前段时间也研究了哈。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 " />
<title> 无标题文档 </title>
<script type= "text/javascript ">
var t_DiglogX,t_DiglogY,t_DiglogW,t_DiglogH;
function gid(id) {
return document.getElementById?document.getElementById(id):null;
}
function gname(name) {
return document.getElementsByTagName?document.getElementsByTagName(name):new Array()
}
function Browser() {
var ua, s, i;
this.isIE = false;
this.isNS = false;
this.isOP = false;
this.isSF = false;
ua = navigator.userAgent.toLowerCase();
s = "opera ";
if ((i = ua.indexOf(s)) > = 0) {
this.isOP = true;return;
}
s = "msie ";
if ((i = ua.indexOf(s)) > = 0) {
this.isIE = true;return;
}
s = "netscape6/ ";
if ((i = ua.indexOf(s)) > = 0) {
this.isNS = true;return;
}
s = "gecko ";
if ((i = ua.indexOf(s)) > = 0) {
this.isNS = true;return;
}
s = "safari ";
if ((i = ua.indexOf(s)) > = 0) {
this.isSF = true;return;
}
}
function DialogLoc() {
var dde = document.documentElement;
if (window.innerWidth) {
var ww = window.innerWidth;
var wh = window.innerHeight;
var bgX = window.pageXOffset;
var bgY = window.pageYOffset;
} else {
var ww = dde.offsetWidth;
var wh = dde.offsetHeight;
var bgX = dde.scrollLeft;
var bgY = dde.scrollTop;
}
t_DiglogX = (bgX + ((ww - t_DiglogW)/2));
t_DiglogY = (bgY + ((wh - t_DiglogH)/2));
}
function DialogShow(showdata,ow,oh,w,h) {
var objDialog = document.getElementById( "DialogMove ");
if (!objDialog) objDialog = document.createElement( "div ");
t_DiglogW = ow;
t_DiglogH = oh;
DialogLoc();
objDialog.id = "DialogMove ";
var oS = objDialog.style;
oS.display = "block ";
oS.top = t_DiglogY + "px ";
oS.left = t_DiglogX + "px ";
oS.margin = "0px ";
oS.padding = "0px ";
oS.width = w + "px ";
oS.height = h + "px ";
oS.position = "absolute ";
oS.zIndex = "5 ";
oS.background = "#FFFFFF ";
oS.border = "solid #000 1px ";
objDialog.innerHTML = showdata;
document.body.appendChild(objDialog);
}
function DialogHide() {
ScreenClean();
var objDialog = document.getElementById( "DialogMove ");
if (objDialog) objDialog.style.display = "none ";
}
function ScreenConvert() {
var browser = new Browser();
var objScreen = gid( "ScreenOver ");
if (!objScreen) var objScreen = document.createElement( "div ");
var oS = objScreen.style;
objScreen.id = "ScreenOver ";
oS.display = "block ";
oS.top = oS.left = oS.margin = oS.padding = "0px ";
if (document.body.clientHeight) {
var wh = document.body.clientHeight + "px ";
} else if (window.innerHeight) {
var wh = window.innerHeight + "px ";
} else {
var wh = "100% ";
}
oS.width = "100% ";
oS.height = wh;
oS.position = "absolute ";
oS.zIndex = "3 ";
//oS.innerText = "HELLOOLDSFSDFSDFF ";
if ((!browser.isSF) && (!browser.isOP)) {
oS.background = "#181818 ";
} else {
oS.background = "#F0F0F0 ";
}
oS.filter = "alpha(opacity=40) ";
oS.opacity = 40/100;
oS.MozOpacity = 40/100;
document.body.appendChild(objScreen);
var allselect = gname( "select ");
for (var i=0; i <allselect.length; i++) allselect[i].style.visibility = "hidden ";
}
function ScreenClean() {
var objScreen = document.getElementById( "ScreenOver ");
if (objScreen) objScreen.style.display = "none ";
var allselect = gname( "select ");
for (var i=0; i <allselect.length; i++) allselect[i].style.visibility = "visible ";
}
//举报
function Report()
{
//var PostData = "do= " + Type + "&reportid= " + ID;
//PostRequest(window.location.protocol + "// " + window.location.host + "/AJAX_Comm.aspx ", PostData);
var showData = sample.innerHTML;
//ScreenConvert();DialogShow( " <div id=\ "DialogLoading\ "> 正在读取,请稍候... </div> ",110,10,124,20);
ScreenConvert();DialogShow(showData,400,300,420,350);
}
</script>
</head>
<body>
<p> 1 </p>
<p> 1 </p>
<p> 1 </p>
<p> 1 </p>
<p> 1 </p>
<p> 1 </p>
<p> 1 </p>
<p> 1 </p>
<p> 1 </p>
<p> 1 </p>
<p> 1 </p>
<p> 1
<input type= "submit " name= "Submit " value= "提交 " />
</p>
<p> 1 </p>
<p> 1 </p>
<p> 1 </p> <p> 1 </p>
<p> 1 </p>
<p> 1 </p>
<a href= "# " onClick= "blur();Report();return false; "> 测试效果 </a>
<div style= "display:none; " id= "sample "> <div style= "padding-top:10px; "> <img src= "images/Yservice.jpg " border= "0 " />
<div style= "line-height:24px; margin-top:10px; padding:0px 0px 10px 10px; font-size:12px; ">
? 我们提供一流的平台,后续的强有力的拓展服务,将带给你不断的惊喜 <br />
? 欲知详情,商业秘密考虑,请联系我们
</div>
<img src= "images/Ylianxiwm.jpg " />
<div style= "line-height:24px; margin-top:5px; font-size:12px; padding:0px 0px 10px 10px; "> 上海宽道信息技术有限公司 <br />
Address:上海市源深路355号鑫陇大厦412室(200135) <br />
Tel:021-58210073 Fax:021-58210173 <br />
E-mail:webmaster@broadwayinfo.com.cn <br />
Msn:broadwayinfo@hotmail.com </div>
<div style= "margin:0px 0px 0px 0px; padding:0px 20px 0px 0px; text-align:right; ">
<a href= "# " title= "点击关闭 " onClick= "return DialogHide(); " class= "Imga "> <img src= "images/Yway_11.jpg " border= "0 " /> </a> </div> </div> </div>
</body>
</html>
[解决办法]
DropDownList是遮不了的.
// JScript 文件
//激活层
function Show()
{
document.getElementById( "divmain ").style.display= ' ';
NGShieldDIV();
}
//屏蔽操作
function NGShieldDIV()
{
if(document.body.clientHeight> screen.height-120)
{
DIVheight=document.body.clientHeight;
DIVwidth=document.body.offsetWidth;
}
else
{
DIVheight=screen.height;
DIVwidth=document.body.offsetWidth;
}
varstr= " <div id= 'LoginWinDIV2 ' oncontextmenu= 'event.returnValue=false ' class= 'ShieldWinDIV ' style= 'width: "+DIVwidth+ ";height: "+DIVheight+ "; '> </div> ";
ShieldWinDIV.innerHTML=str;
}
CSS
.ShieldWinDIV {
position:absolute;
left:0px;
top:0px;
background-color: #0D1426;
filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);
z-index:98;
}
[解决办法]
HTML
<span id= "divmain " style= "DISPLAY: none ">
<div class= "LoginWinDIV " id= "LoginWinDIV " style= "PADDING-RIGHT: 1px; PADDING-LEFT: 1px; Z-INDEX: 99; LEFT: 300px; PADDING-BOTTOM: 1px; WIDTH: 456px; PADDING-TOP: 1px; POSITION: absolute; TOP: 150px; HEIGHT: 446px "> </DIV> </SPAN>
<span id= "ShieldWinDIV "> </span>