Изменить идентификатор тела fancybox при загрузке - PullRequest
0 голосов
/ 21 июля 2010

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

Я пробовал это:

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

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

Спасибо!

Ответы [ 3 ]

2 голосов
/ 21 июля 2010

Вам нужно попасть на <body> внутри <iframe> немного по-другому, например так:

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

Сначала нужно получить <iframe> fancybox с помощью селектора # ID , а затем сделать .find() на его .contents() элементы внутри.

0 голосов
/ 21 июля 2010

Зачем вам нужно менять идентификатор тела в первую очередь?

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

body.page
 {
  background-image: url(.....)
}
0 голосов
/ 21 июля 2010

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

$('body').attr('id', 'fancybox_body');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...