J'ai besoin de redimensionner une div montrée comme un message dans blockUI de sorte qu'elle remplisse la zone de l'écran visible moins un facteur de fudge codé en dur (donc width - 100). La prémisse est que je peux montrer une plus petite image sur l'écran mais si l'utilisateur a besoin d'une image agrandie alors je leur montre juste la boîte de dialogue de taille d'ui à leur écran.Comment auto-dimensionner une boîte de dialogue blockui dans la zone visible disponible avec JQuery?
L'image est générée dynamiquement et peut être dimensionnée en fonction des dimensions qui lui sont transmises par l'application.
J'ai regardé et j'ai seulement trouvé le code pour centrer un div. Je travaille sur ce donc si je trouve une réponse que je vais le poster ici (en supposant qu'il ne se réplique pas quelqu'un elses réponses!)
est ici un html très simple extrait de code pour le balisage d'appel:
<div>
<img src="someurl" class="image" height="280px" width="452px" alt="" />
</div>
<div style="text-align: right;">
<a href="#viewpopup" id="viewpopup">View larger map</a>
</div>
Et voici le balisage popup
<div id="popup">
<div class="titlebar">
<div class="title left">Map details</div>
<div class="closebuttons right"><a class="close">x</a></div>
<div class="clearer"></div>
</div>
<div class="popupcontent">
<!-- auto append content here -->
</div>
<div class="buttonbar">
<a class="close">Close</a>
</div>
</div>
J'utilise JQuery, voici le code actuel je:
var popup = $("#popup");
var popupcontent = popup.children(".popupcontent");
var image = $(".image");
$(document).ready(function(){
$("#viewpopup").click(function(){
// Fudged indent on the top left corner
var top = 20;
var left = 20;
// Dynamically set the contents
// popupcontent.empty();
// popupcontent.append();
$.blockUI({ message: popup, css : { border : 'none', height: 'auto', 'cursor': 'auto', 'width': 'auto', 'top': top, 'left' : left } });
});
$(".close").live("click",function(){
$.unblockUI();
});
});
Je dois aussi trouver comment régler la hauteur du popup pour remplir automatiquement l'espace disponible actuellement (j'utilise ems dans mon css) mais je ne sais pas si c'est une question distincte :).
Merci :)
Bonjour, oui, c'est vrai. Une faute de frappe de ma part! – Simon