2010-03-24 9 views
0

모달 윈도우 타입 일을 여는이 작은 함수가 있습니다. 문제는 IE에서 작동하지 않는다는 것입니다. 다른 모든 브라우저는 괜찮지 만 Internet Explorer에서는 아무 일도 일어나지 않습니다.작은 자바 스크립트 문제

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

'if'조건 앞에 경고 상자를 사용하고 그 내용을 확인하십시오. –

+0

$ (id)가 참조하는 이러한 요소가 정의되는 위치. 어쩌면 IE가 그들을 볼 수 없을까요? –

답변

0

나는이 HTML 코드에 코드를 붙여 넣은 : IE7에서 파이어 폭스 예상대로이 작동

<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> 

합니다. 그래서 우리에게 보여주지 않은 부분이 있어야합니다. 하나의 아이디어 : BgCoverid이 아닌 class이 HTML에 있습니까?