我正在使用此代码创建叠加层和重叠框:
// GENERAL OVERLAY BOX
var isOpen = false; // STATUS OF OVERLAY BOX
function showOverlayBox() { // DISPLAY BOX
if( isOpen == false ) return; // DO NOTHING IF NOT SET TO OPEN
var activeTab = $(this).attr("class");
$('.overlayBox').css({ // OVERLAY BOX POSITION
display:'block',
left:( $(window).width() - $('.overlayBox').width() )/2,
top:( $(window).height() - $('.overlayBox').height() )/2 -20,
position:'absolute'
});
$('.bgCover').css({ // DARK BG
display:'block',
width: $(window).width(),
height:$(window).height()
});
}
function doOverlayOpen() { // OPEN
isOpen = true; // SET STATUS TO OPEN
showOverlayBox();
$('.bgCover').css({opacity:0}).animate( {opacity:0.8, backgroundColor:'#000'} );
return false;
}
function doOverlayClose() { // CLOSE OVERLAY
isOpen = false; //SET STATUS TO CLOSED
$('.overlayBox').css( 'display', 'none' );
//$('.bgCover').animate( {opacity:0}, null, null, function() { $(this).hide(); } ); WON'T WORK IN IE7
$('.bgCover').hide();
}
$(window).bind('resize',showOverlayBox);// IF WINDOW IS RESIZED, REPOSITION OVERLAY
$('.launchLink').click( doOverlayOpen ); // OPEN OVERLAY WHEN a.launchLink CLICKED
$('a.closeLink').click( doOverlayClose ); // CLOSE OVERLAY WHEN a.closeLink CLICKED
在IE7中,我打开和关闭内容框没有问题 - 问题在于.bgCover。它会动画,但不会使用$('.bgCover').animate( {opacity:0}, null, null, function() { $(this).hide(); } );
制作动画。它会隐藏:$('.bgCover').hide();
,但如果再次显示框叠加,则不会重新显示。 (在其他浏览器中没有问题)
有关正在发生的事情的任何想法?
答案 0 :(得分:0)
尝试
$('.bgCover').remove();
我发现使用hide()可能会对叠加层造成麻烦。