我有这个小功能打开模态窗口类型的东西。问题是它无法在IE上运行。所有其他浏览器都很好,但在IE上,没有任何事情发生:
function showOverlayBox() {
if( isOpen == false ) return;
$('#full').css({
display:'block',
left: ( $(window).width() - $('#full').width() )/2,
top: ( $(window).height() - $('#full').height() )/2,
position:'absolute'
});
$('.BgCover').css({
display:'block',
width: $(window).width(),
height: $(window).height()
});
}
function doOverlayOpen() {
isOpen = true;
showOverlayBox();
$('.BgCover').css({opacity:0}).animate( {opacity:0.8} );
return false;
}
function doOverlayClose() {
$('#full').css( 'display', 'none' );
$('.BgCover').animate( {opacity:0}, null, null, function() { $(this).hide(); } );
}
也许与isOpen相关= = false?
答案 0 :(得分:0)
我已将您的代码粘贴到此HTML代码段中:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
</head>
<body>
<div class="BgCover" style="background-color: red; display:none"></div>
<div id="full" style="display:none; background-color: yellow">Hello!</div>
<script type="text/javascript">
<!-- Your code here -->
$("<span>Do it</span>").click(doOverlayOpen).insertAfter($("#full"));
</script>
</body>
</html>
这在IE7中的Firefox 和中可以正常工作。因此,你没有向我们展示的部分必须有一些东西。一个想法:您确定BgCover
是(并且/应该是)HTML中的class
,而不是id
吗?