2010-07-21 3 views
0

У меня есть фоновое изображение на моем сайте, но когда я открываю fancybox, фоновое изображение появится и в теле fancybox. Есть ли способ получить элемент body внутри iframe, чтобы я мог применить к нему id?Изменить идентификатор кузова fancybox при загрузке

Я попытался это:

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

Но он изменяет идентификатор главной страницы.

Спасибо!

ответ

2

Вы должны получить в <body> внутри немного по-другому, например:

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

Вы должны сначала получить FancyBox использует с #ID selector затем сделать .find() на это .contents(), чтобы получить элементы внутри.

+0

Спасибо, Ник! Я пробовал, и он работает, но я уже нашел более «родное» решение в typo3. Еще раз спасибо! – cili

+0

@cili - Добро пожаловать :) обязательно примите ответ или опубликуйте, что вы сделали в качестве ответа (вы можете принять *, что через 2 дня после этого), это поможет следующему человеку прийти к той же проблеме, что и googles и находит ваш вопрос :) –

0

Он изменяет идентификатор из-за

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

О чем вы говорите? Я не понимаю. –

+0

Его вопрос - это изменения идентификатора на главной странице, причина в том, что он указан выше. – X10nD

0

Почему вам нужно изменить идентификатор организма в первую очередь?

Лучше дать основные body a class как, скажем, page. Примените фоновое изображение только к телам этого класса.

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

Вот что я пытался сделать. Жесткой частью было добавление id (или класса). Я работаю над сайтом typo3, и мне это удалось с помощью typoscript. Благодаря! – cili