permet de redimensionner une image en cliquant dessus et en déplaçant la sourie.
il fonctionne sous ie5,ns4.8 et ns7.02, je l'ai testé !!
Source / Exemple :
<HTML>
<HEAD>
<SCRIPT language="javascript" TYPE="text/javascript">
var ie4 = document.all;
var ns4 = document.layers;
var ns6 = ((!ie4)&&(document.getElementById));
var monCalque;
function init()
{
if(ns6)
{
document.addEventListener("mousedown",start, false); // on affecte une fonction à chaque evenement
document.addEventListener("mousemove",drag, false);
document.addEventListener("mouseup",drop, false);
}
else
{
if(ns4)
{
document.captureEvents(Event.MOUSEDOWN|Event.MOUSEMOVE|
Event.MOUSEUP) // on capture les evenements
}
document.onmousedown=start; // on affecte une fonction à chaque evenement
document.onmousemove=drag;
document.onmouseup=drop;
}
}
function start(e)
{
if (ns4)
{
monCalque=document.layers[e.target.name];
if(monCalque)
{
imsrc = e.target.src; // on recupere le nom de l'image
imname = e.target.name; // le nom de la balise <img>
imwidth = e.target.width; // sa taille initiale en X
imheight = e.target.height; // en Y
monCalque.X=monCalque.left; // sa place à gauche
monCalque.Y=monCalque.top; // sa place en haut
}
return false;
}
else if (ie4)
{
monCalque=event.srcElement.parentElement;
if(monCalque)
{
imsrc = event.srcElement.src;
imname = event.srcElement.name;
imwidth = event.srcElement.width;
imheight = event.srcElement.height;
monCalque.X=monCalque.style.left;
monCalque.X=monCalque.X.substring(0,monCalque.X.length-2); // on supprime px à la fin de la chaine
monCalque.Y=monCalque.style.top;
monCalque.Y=monCalque.Y.substring(0,monCalque.Y.length-2); // on supprime px à la fin de la chaine
}
}
else if (ns6)
{
monCalque=document.getElementById(e.target.name);
if(monCalque)
{
imsrc = e.target.src;
imname = e.target.name;
imwidth = e.target.width;
imheight = e.target.height;
monCalque.X=monCalque.style.left;
monCalque.X=monCalque.X.substring(0,monCalque.X.length-2);
monCalque.Y=monCalque.style.top;
monCalque.Y=monCalque.Y.substring(0,monCalque.Y.length-2);
}
}
}
function drag(e)
{
if(monCalque)
{
contenu = '<img name="'+imname+'" border="1px" src="dummy.gif" width="'+ imwidth; // dummy.gif pour une image vide.
contenu += 'px" height="'+ imheight +'"></img>'; // border=1px pour voir un cadre.
if (ns4)
{
imwidth = eval(e.pageX-monCalque.X); // on recupere la nouvelle taille en X
imheight = eval(e.pageY-monCalque.Y); // en Y
monCalque.document.open();
monCalque.document.write(contenu);
monCalque.document.close();
}
else if ((ie4)&&(monCalque.id))
{
imwidth = eval(event.clientX-monCalque.X); // on recupere la nouvelle taille en X
imheight = eval(event.clientY-monCalque.Y); // en Y
monCalque.innerHTML=contenu;
return false;
}
else if ((ns6)&&(monCalque.id))
{
imwidth = eval(e.clientX-monCalque.X); // on recupere la nouvelle taille en X
imheight = eval(e.clientY-monCalque.Y); // en Y
monCalque.innerHTML=contenu;
return false;
}
}
}
function drop(e)
{
if(monCalque)
{
contenu = '<img name="'+imname+'" src="'+ imsrc +'" width="'+ imwidth;
contenu += 'px" height="'+ imheight +'"></img>';
if (ns4)
{
monCalque.document.open(); // on ouvre puis on ecrit le document
monCalque.document.write(contenu);
monCalque.document.close();
monCalque=null;
}
else if ((monCalque.id)) // pour ie et ns>4
{
monCalque.innerHTML=contenu; // on ouvre puis on ecrit le document
monCalque=null;
return false;
}
}
}
</SCRIPT>
</HEAD>
<BODY>
<DIV id="dgo" z-index="auto" style="position:absolute;left:5;top:10" > <!-- position:absolute necessaire pour ns4 -->
<IMG name="dgo" src="irlande2.jpg" width="100px" height="101px"></DIV>
<DIV id="dgo2" z-index="auto" style="position:absolute;left:300;top:10" >
<IMG name="dgo2" src="irlande.jpg" width="102px" height="103px"></DIV>
<SCRIPT> init();</SCRIPT> <!-- déclenchement ------->
</BODY>
</HTML>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.