Forum de discussion
Forum « Programmation Javascript » (archives)
Re: Dimensionner un popup à la taille exact d'une image
Envoyé: 27 août 2005, 7h14 par Oznog
Attention, Java et Javascript ne sont deux chose distincte. Et cette façon de faire n'est pas la bonne. Vaut mieux utiliser une l'appele d'une fonction directement dans le href voir "twNeowin" (http://www.trucsweb.com/Javascript/trucs.asp?no=297&type=5).
<a href="javascript:maFonction...
Voir tw
Ensuite, tu peux redimentionner une fenêtre comme ceci:
window.resizeTo(100,250);
Tu peux récupérer la dimension d'une image comme ceci :
nLargeur = document.images[0].width;
nHauteur = document.images[0].height;
Mais ces deux dernières valeurs ne sont disponibles qu'une fois l,image chargé, tu dois donc le tester avant :
if (document.images[0].complete) {
window.resizeTo(document.images[0].width+10,document.images[0].height+25);
window.focus();
}
Maintenant, il faut l'appeller ce test, en l,ajoutant avant tout dans une fonction qui sera appellé dès le chargement de la page (à l'aide du comportement "onload") :
<script language="JavaScript" type="text/javascript">
<!--
function twAjustePopUp() {
// Ajuste les dimensions selon l'image
// Script gratuit des www.trucsweb.com
if (document.images[0].complete) {
window.resizeTo(document.images[0].width+10,document.images[0].height+25);
window.focus();
} else {
// Boucle tant que l'image n'est pas chargée
setTimeout('twAjustePopUp()',1000);
}
}
// -->
</script>
</head>
<body onload="twAjustePopUp();">
<img...
Note : L'ajout de quelques pixels aux dimensions de l'image pour éviter les barre de défillement (scrollbar).
Astuce : Tu peux mettre l'image dans un calque (div) avec une position "absolute" et un z-order de façon à pouvoir être plus grosse que la fenêtre, ainsi l'effet est complet, avec à peine la petite bordure de 3 pixels autour de l'image.
<style>
#twPreImage {
position: absolute;
z-index: 10;
}
</style>
Ciao
Oznog
Réponses
|