pra*_*pal 6 html javascript jquery
我有一个通过ajax创建的div,我想在div弹出后禁用整个身体,直到div,除非div被关闭.
这在jquery中是否可行.请让我知道你的建议
谢谢,
Praveen Jayapal
Ale*_*lex 10
你想要删除,还是隐藏身体?从技术上讲,这是不可能的,因为你需要将div附加到身体上才能看到它.你可以做的是创建一个覆盖整个身体的"面具"图层,然后使用z-index为你的div显示它在身体的顶部.
就像是:
http://www.queness.com/post/77/simple-jquery-modal-window-tutorial
可能有帮助!
要完全隐藏页面,您需要做的就是更改第21行:
$('#mask').fadeTo("slow",0.8);
在javascript中:
$('#mask').fadeTo("slow",1);
CSS的第7行掩码的颜色也可以改为你想要的颜色:
background-color: #000;
这应该够了吧..
HTML:
<body>
<div id="overlay">
this is above the body!
</div>
<!--...rest...-->
</body>
Run Code Online (Sandbox Code Playgroud)
CSS:
#overlay {
background-color: #ccc; /*or semitransparent image*/
display: none;
height: 100%;
width: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 100;
}
#ajax-div {
z-index: 200; /*important, that it is above the overlay*/
}
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
<script type="text/javascript">
$(document).ready(function() {
//your ajax-call
$.ajax({
//on success
success: function() {
//your logic your showing the ajax-div
$('#overlay').show(); //or fadeIn()
}
})
//use live to catch the close-click of the later added ajax-div
$('#ajax-div a#close').live('click', function() {
//close the ajax-div
$(this).parent().hide();
//close the overlay
$('#overlay').hide(); //or, again, fadeOut()
});
});
</script>
Run Code Online (Sandbox Code Playgroud)