2010-07-21 5 views
0

내 사이트에 배경 이미지가 있지만 팬시 박스를 열면 팬시 박스 본문에도 배경 이미지가 나타납니다. body 요소를 iframe 내부에서 가져 와서 ID를 적용 할 수 있습니까? 로드시 fancybox 본문 ID 변경

나는이 시도 :

$("#appointment-form").fancybox({ 
     'width'  : 500, 
     'height' : 300, 
     'transitionIn' : 'fade', 
     'transitionOut' : 'fade', 
     'type'  : 'iframe', 
     'onComplete' : function() { 
          $('body').attr('id', 'fancybox_body'); 
          } 
}); 

을하지만 메인 페이지의 ID를 변경합니다.

감사합니다.

답변

2

는이처럼 <iframe> 내부의 <body> 약간 다른 방식에서 얻을 필요가 :

$('#fancybox-frame').contents().find('body').attr('id', 'fancybox_body'); 

당신은 먼저 <iframe> fancybox 다음 그것의에 .find()#ID selector로 사용 얻을 필요 .contents() 내부에 요소를 가져옵니다.

+0

고마워, 닉! 시도했지만 작동하지만 typo3에서 더 "기본"솔루션을 찾았습니다. 다시 한 번 감사드립니다! – cili

+0

@cili - 환영합니다 :) 대답을 수락하거나 응답으로 한 내용을 게시하십시오 (* 2 일 후 * 수락 할 수 있음). 다음 사람이 Google과 동일한 문제를 해결하는 데 도움이됩니다. 귀하의 질문을 찾습니다 :) –

0

그것은 때문에

$('body').attr('id', 'fancybox_body'); 
+0

너 무슨 소리 야? 나는 이해하지 못한다. –

+0

그의 질문은 위의 코드 때문에 주 페이지에서 ID가 변경된 것입니다. – X10nD

0

의 ID를 변경 왜 처음에 신체의 ID를 변경해야합니까?

bodyclass처럼 말하면, 예를 들어 page과 같이하십시오. 해당 클래스의 본문에만 배경 이미지를 적용하십시오.

body.page 
{ 
    background-image: url(.....) 
} 
+0

그것이 내가하려는 일입니다. 어려운 부분은 id (또는 클래스)를 추가하는 것입니다. 나는 typo3 사이트에서 일하고 있는데 typoscript로 관리했습니다. 감사! – cili