[JavaScript] Redimensionnement d'Image

Fermé
Aquel Messages postés 199 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 1 octobre 2009 - 21 janv. 2008 à 16:52
Aquel Messages postés 199 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 1 octobre 2009 - 22 janv. 2008 à 11:25
Bonjour,

J'ai un problème sur une page qui affiche une photo après redimensionnement grâce à une fonction Javascript.

Le problème est que la photo ne s'affiche pas tout le temps et ce de façon totalement aléatoire à chaque chargement de la même page.

<%@ LANGUAGE = JScript CODEPAGE = 1252 %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="style_etablissement.css" />

<script type="text/javascript" language="javascript">

///////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////Redimension des photos des actualités//////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////
function redimImage(inImg, inMW, inMH)
{
// Cette function recoit 3 parametres
// inImg : Chemin relatif de l'image
// inMW : Largeur maximale
// inMH : Hauteur maximale
var maxWidth = inMW;
var maxHeight = inMH;

// Declarations des variables "Nouvelle Taille"
var dW = 0;
var dH = 0;

// Declaration d'un objet Image
var oImg = new Image();
// Affectation du chemin de l'image a l'objet
oImg.src = inImg;
// On recupere les tailles reelles
var h = dH = oImg.height;
var w = dW = oImg.width;

// Si la largeur ou la hauteur depasse la taille maximale
if ((h >= maxHeight) || (w >= maxWidth)) {
// Si la largeur et la hauteur depasse la taille maximale
if ((h >= maxHeight) && (w >= maxWidth)) {
// On cherche la plus grande valeur
if (h > w) {
dH = maxHeight;
// On recalcule la taille proportionnellement
dW = parseInt((w * dH) / h, 10);
} else {
dW = maxWidth;
// On recalcule la taille proportionnellement
dH = parseInt((h * dW) / w, 10);
}
} else if ((h > maxHeight) && (w < maxWidth)) {
// Si la hauteur depasse la taille maximale
dH = maxHeight;
// On recalcule la taille proportionnellement
dW = parseInt((w * dH) / h, 10);
} else if ((h < maxHeight) && (w > maxWidth)) {
// Si la largeur depasse la taille maximale
dW = maxWidth;
// On recalcule la taille proportionnellement
dH = parseInt((h * dW) / w, 10);
}
}
// On ecrit l'image dans le document
document.writeln("<img src=\"" + inImg + "\" width=\"" + dW + "\" height=\"" + dH + "\" class=\"cadre_photo\">");
};


//-->
</script>

<!--Connexion BDD ////////////////////////////////////////////////////////////-->
<%
var conn = Server.CreateObject("ADODB.connection");
conn.Open ("portailcidfn","root","");
%>

<!--//////////////////////////////////////////////////////////////////////////-->

<!--Récupération de l'ID de l'entité par URL /////////////////////////////////-->
<%
var id = Request.QueryString("id");
%>
<!--/////////////////////////////////////////////////////////////////////////-->

<!--Sélection des données ////////////////////////////////////////////////////-->
<%
req = "SELECT * FROM etablissements WHERE id='"+id+"'";
RS = Server.CreateObject("ADODB.RecordSet");
RS.Open(req,conn,3,1);
%>

<!--//////////////////////////////////////////////////////////////////////////-->

<title><%=RS("nom")%></title>
</head>

<body>

<div class="corps">

<div class="haut">
<span id="photo">

<!--///////////////Affichage de la photo redimensionnée////////////////-->
<script language="JavaScript" type="text/javascript">
<!--
redimImage('photos_etablissement/photo_<%=RS("id")%>.jpg', 100, 100);
//-->
</script>
</span>

......................................................etc.................................................................

Je vous épargne la suite qui n'est que de l'affichage de données :)

Merci pour celui qui voudra bien se pencher sur la question !
A voir également:

1 réponse

Aquel Messages postés 199 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 1 octobre 2009 10
22 janv. 2008 à 11:25
up
0