2010-07-21 14 views
0

J'ai une image d'arrière-plan dans mon site, mais quand j'ouvre un fancybox, cette image d'arrière-plan apparaîtrait aussi dans le corps de fancybox. Y at-il un moyen d'obtenir l'élément body à l'intérieur de l'iframe afin que je puisse lui appliquer un identifiant?Changer l'ID de corps de fancybox sur la charge

J'ai essayé ceci:

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

Mais il change l'id de la page principale.

Merci!

Répondre

2

Vous devez obtenir au <body> intérieur de la une manière légèrement différente, comme ceci:

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

Vous devez d'abord obtenir le fancybox utilise avec un #ID selector puis faire un .find() sur son .contents() pour obtenir des éléments à l'intérieur.

+0

Merci, Nick! J'ai essayé et cela fonctionne, mais j'ai déjà trouvé une solution plus "native" dans typo3. Merci encore! – cili

+0

@cili - Bienvenue :) assurez-vous d'accepter une réponse ou de poster ce que vous avez fait comme réponse (vous pouvez accepter * que * 2 jours après), cela aidera la prochaine personne à venir avec le même problème que les googles et trouve votre question :) –

0

elle change l'id en raison de

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

De quoi parlez-vous? Je ne comprends pas. –

+0

Sa question est l'id changements sur la page principale, la raison en est à cause du code ci-dessus. – X10nD

0

Pourquoi avez-vous besoin de changer l'ID du corps en premier lieu?

Mieux vaut donner le body principal class comme, disons, page. Appliquez l'image d'arrière-plan uniquement aux corps de cette classe.

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

C'est ce que j'essayais de faire. La partie difficile était d'ajouter un identifiant (ou classe). Je travaille sur un site typo3 et je l'ai géré avec typoscript. Merci! – cili