2010-06-21 3 views
2

페이지를로드 할 때 플래시 구성 요소를 숨겨두고 (백그라운드에서로드하려고합니다.) 완전히로드 된 후 표시합니다. DOM을로드 한 후숨기기 및 표시 : 페이지를로드하는 동안 문제가 발생합니다.

이를 위해, 나는 그것을 숨기기 위해 다음과 같은 자바 스크립트 코드가이 시점에서

$(document).ready(function() 
{ 
    $("#test").hide(); 
}); 

은 플래시가 숨겨져 있습니다. 그런 다음 나중에 다음과 같이 호출하는 메서드를 호출합니다.

$("#test").show(); 

그러나이 시점에서 플래시는 다시 나타나지 않습니다. Firebug의 콘솔에서도 시도했지만 작동하지 않았습니다. 나는 div로 똑같은 일을하려했으나 잘 작동하지 않는다.

로드 할 때 div/flash를 숨기지 않지만 나중에 Firebug 콘솔에서 숨기거나 표시하면 잘 동작합니다.

아무도 왜이 동작을하는지 알 수 있습니까?

편집 :

가 대단히 감사합니다,

루디

+0

테스트 페이지가 필요합니다. 문제는 아마 우리에게 보여주지 않는 코드 일 것입니다. 시도 할 것 : 먼저 작동하지 않는 방식으로 숨 깁니다. 그런 다음 콘솔에서 : $ ('# test'). length 어떤 응답을합니까? – Mark

+0

프레임 워크를 사용하여 플래시를로드합니까? 일부 프레임 워크는 보이지 않는 경우 아무것도로드하지 않습니다. – Andrew

답변

0

플래시 요소를 숨기려면 아직도 당신이 대신을 숨기는, 가시 영역의 외부로 배치 할 수 있습니다,로드있다. onload 이벤트가 시작되기 전에 요소가 이미 숨겨 지도록 CSS를 사용하십시오. 그런 다음 플래시 요소를 표시 할 준비가되면 loading 클래스를 제거하면됩니다.

CSS

#flash-container { position: absolute; top: ... } 
#flash-container.loading { top: -1000px; } 

$("#flash-container").removeClass("loading"); 

또한 HTML

<div id="flash-container" class="loading"> 
    <object ...></object> 
</div> 

자바 스크립트, 당신의 #flash-container CSS 정의의 일부로서,이 요소가있을 때를 위해 위치를 정의해야합니다 명백한.

+0

여기에 단점은 애니메이션을 사용할 수 없다는 것입니다. 위로 슬라이드하거나 아래로 슬라이드 등 –

+0

바로 옆에있는 문제와는 관련이 없습니다. 플래시 요소의 'display'를 'none'으로 설정 한 다음 'block'으로 다시 설정하면 요소가 다시로드되어 애니메이션이 불가능 해지는 경우가 있습니다. –

+0

하지만 SWFObject Jquery 플러그인을 사용하여 플래시를 숨기거나 표시 할 수 있으며 여전히 작동합니다. –

관련 문제