我正在寻找一种方法来做到这一点:
- Javascript 函数,可打开一个显示我的员工列表视图的弹出窗口
- 当弹出窗口打开灰色父/打开器窗口时
- 当弹出窗口关闭时,父窗口“面纱”被移除。
感谢您提供任何代码或想法。
我正在寻找一种方法来做到这一点:
感谢您提供任何代码或想法。
我的理解是这样的……
您正在尝试使用称为“覆盖”的东西(在父项打开时将灰色背景放在子项中)。这被称为模态弹出窗口,在这里我给你一个插件链接,以便将它们与 jQuery 一起使用:
http://www.designlabelblog.com/2009/03/20-ways-to-create-javascript-modal.html
这是我为此构建的解决方案,可通过open()
或close()
您可以将所有内容粘贴在其中#container
的HTML:
<span id="empli">Employees</span>
<div id="block"></div>
<div id="container">
<h3>Employees</h3>
<ul>
<li>James</li>
<li>Jemima</li>
<li>lenny</li>
etc..
</ul>
<span id="closebtn">Close</span>
</div>
的CSS:
* { font-family: Trebuchet MS; }
#container {width:90%; height: 90%; display: none; position: fixed;margin-top: 5%; margin-left: 5%; background:#FFF; border: 1px solid #666;border: 1px solid #555;box-shadow: 2px 2px 40px #222; z-index: 999999;}
#container iframe {display:none; width: 100%; height: 100%; position: absolute; border: none; }
#block {background: #000; opacity:0.6; position: fixed; width: 100%; height: 100%; top:0; left:0; display:none;}
ul { padding:10px; background: #EEE; position: absolute; height: 200px; overflow: scroll;}
ul li {color: #222; padding: 10px; font-size: 22px; border-bottom: 1px solid #CCC; }
h3 { font-size: 26px; padding:18px; border-bottom: 1px solid #CCC; }
#closebtn { top: 13px;position: absolute;right: 13px; padding: 10px; background: #EEE; border: 1px solid #CCC;}
#closebtn:hover { cursor: pointer; background: #E5E5E5 }
#empli { top: 13px;position: absolute;left: 13px; padding: 10px; background: #EEE; border: 1px solid #CCC;}
#empli:hover { cursor: pointer; background: #E5E5E5 }
<strong>jquery:
function open() {
$('#block').fadeIn();
$('#container').fadeIn();
}
function close() {
$('#block').fadeOut();
$('#container').fadeOut();
}
$(document).ready(function() {
$('ul').css({width: $('#container').width()-20,height: $('#container').height()-90})
$('#closebtn').click( function() { close() })
$('#empli').click( function() { open() })
});
</p>
只需使用window.open
然后添加一些您需要将父窗口灰显的条件
如何做到这一点有很多变化。面对同样的需求,我最终决定使用 jQuery.impromptu。一旦定义了窗口的内容,我就会弹出它,同时用一个阶段将父级灰显:
$.prompt(sFirstText,{overlayspeed:'fast',prefix:'wideJqi',top:80});
您可以在http://terryliittschwager.com/WB/JWB.php看到它。
Impromptu 可在http://trentrichardson.com/Impromptu/获得。