小javascript问题

时间:2010-03-24 11:04:50

标签: javascript function

我有这个小功能打开模态窗口类型的东西。问题是它无法在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?

1 个答案:

答案 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吗?