在加载时更改fancybox body id

时间:2010-07-21 07:43:42

标签: jquery fancybox typoscript

我的网站上有背景图片,但是当我打开一个fancybox时,那个 背景图像也会出现在fancybox的主体中。有没有办法在iframe中获取body元素,以便我可以为它应用id?

我试过了:

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

但它改变了主页的id。

谢谢!

3 个答案:

答案 0 :(得分:2)

您需要以<body>内的<iframe>方式稍微改变一下,如下所示:

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

您需要首先使用#ID selector获取<iframe> fancybox,然后在其.find()上执行.contents()以获取内部元素。

答案 1 :(得分:0)

由于

,它会更改ID
$('body').attr('id', 'fancybox_body');

答案 2 :(得分:0)

为什么你需要首先改变身体的身份证?

最好给主body一个class,例如page。仅将背景图像应用于该类的主体。

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