2010-05-05 7 views
2

Hallo touspositionnement d'un dialogue jquery qui se trouve dans une iframe realtive à la fenêtre parente

j'ai un site qui a une très grande défilement, et il y a une iframe au milieu ensemble ne pas avoir défilement de toute façon, sa hauteur est de 3000

de toute façon le document en cours d'ouverture dans l'iframe a une boîte de dialogue jquery.

quand im regardant en haut du parent et cliquez sur un bouton à l'intérieur de l'iframe qui ouvre la boîte de dialogue la boîte de dialogue ouvre au milieu de l'iframe et je ne peux pas le voir ...

c'est parce que son faire ses calculs sur la base du document pas le document haut

comment puis-je changer cela?

donc si mon défilement descendait complètement dans le parent, le dialogue à l'intérieur de l'iframe s'ouvrirait en bas de l'iframe où je pourrais le voir .. autrement dit, il serait réel à la position du document parent.

Voilà comment j'ouvrir ma boîte de dialogue:

generalDialog.dialog({ 
    bgiframe:false, height:p_height, width:480, modal:true, autoOpen:false, hide:'fadeout', show:'slide', closeOnEscape:true}); generalDialog.dialog("open"); 

merci à l'avance

+0

si vous collez votre javascript ici, quelqu'un pourrait peut-être y remédier pour votre –

Répondre

3

Je l'ai eu à travailler!

c'est ce que vous devez changer dans le plugin de dialogue jquery est un très bon changement, car il rend le travail de dialogue à partir d'un iframe ainsi que une simple page

(cela ne fonctionnera que si vous êtes sur le même domaine)

ce sont les lignes que vous devez changer:

celui-ci:

pTop = doc.scrollTop() 

à ceci:

pTop = $(top.document).find("html").scrollTop() 

et celui-ci:

pTop += (wnd.height() - this.uiDialog.outerHeight())/2; 

à ceci:

pTop += ($(top.document).find("html").attr("clientHeight") - this.uiDialog.outerHeight())/2;  

qui le fixe.

0

vous devez utiliser self.parent pour faire référence à l'objet de document dans lequel votre iframe est contenu lorsque vous faites les calculs, sinon les calculs sont basés sur l'objet document à l'intérieur de l'iframe. C'est ce qui fait que votre boîte de dialogue est actuellement au centre de l'objet document dans l'iframe et non l'objet document de la page parent contenant l'iframe. J'espère que cela a du sens :)

+0

oui ive dit exactement que ... je sais ce qui cause le problème je ne sais pas ce que je dois faire pour le dialogue pour le réparer . quel code pour changer et tout ça ... aussi le correctif doit être ok pour une fenêtre normale aussi pas juste une fenêtre ouverte à l'intérieur d'un iframe. car il existe d'autres pages utilisant ce plugin jquery avcorse tnx –

Questions connexes