2008-10-07 9 views
4

J'ai un pop-up modal qui affiche initialement du contenu mais développe une div si une case est cochée. Le modal se développe correctement mais ne recentre pas sauf si vous faites défiler vers le haut ou vers le bas. Y a-t-il un événement javascript que je peux ajouter à ma fonction javascript pour recentrer l'ensemble du modal?Recentrer Popup modal avec Javascript

Répondre

10

événements Voici ce qu'il est:.

$find('ModalPopupExtenderClientID')._layout(); 

Par exemple:

$find('detailsPopUpExtenderId')._layout(); 

et ASPX:

<ccl:ModalPopupExtender runat="server" ID="MyPopUpExtender" TargetControlID="pop" PopupControlID="PopUp" BehaviorID="detailsPopUpExtenderId" BackgroundCssClass="ModalBackground" /> 

BehaviorID étant la propriété où définir l'ID clientside.

+2

Fonctionne bien, merci. J'ai utilisé la propriété ClientID dans le code pour obtenir l'ID client complet. –

+1

Vous pouvez définir la propriété 'BehaviourId' sur le contrôle' ModalPopupExtender', sans faire attention à l'ID client $ find ('bahaviour id') ._ layout(); '. Quoi qu'il en soit, bon tour. Merci! – adripanico

0

Quel que soit l'événement que vous avez lié au défilement pour le recentrer, associez cet événement à l'événement d'expansion checkbox/div également (ou appelez-le à partir de l'autre événement). Difficile d'en dire plus sans voir de code.

1

Veillez à ce que cela ne soit pas lié à l'événement de redimensionnement de la fenêtre. Si c'est le cas, votre recentrage pourrait déclencher un événement de redimensionnement dans IE, ce qui provoquerait une boucle infinie.

S'il est lié à l'événement de redimensionnement, autorisez 1 ou 2 événements de redimensionnement, mais ignorez le reste. (Je dis 2, parce que dans IE, un événement « restauration » dans la fenêtre déclenchera au moins 2 Redimensionner (3 IE6)

Questions connexes