Forum de discussion
Forum « Programmation Javascript » (archives)
Re: Maniement (ou redimensionnement ) de calque
Envoyé: 17 juillet 2004, 16h01 par jackbeauregard
pour changer la forme du rectangle
modifie les valeurs (700 et 400) a la 1ere ligne de la fonction wipe1
function wipe1() {
if ((clipValues(block,'r')<700)&&(clipValues(block,'b')<400)) {
clipBy(block,0,10,10,0)
setTimeout("wipe1()",30)
}
}
tiens v'la une version traduite du code de Dan Steinmann pour la famille Gecko
je l'ai teste sur MacOSX avec :
- FireFox0.9.1
- Mozilla1.2.1
- Netscape7
et j'ai pas de soucis
le code traduit pour Mozilla Netscape FireFox :
<html>
<head>
<title>The Dynamic Duo - Clipping Demo 3 Adapter pour Mozilla 1.2.1 Netscape7 FireFox0.9.1 par Laurent Dupuy - juillet 2004</title>
<script language="JavaScript">
<!--
ns = (document.getElementById)? true:false
var block="felix";
function init() {
if (ns) block = document.getElementById('blockDiv')
}
function clipValues(obj,which) {
if (ns) {
eval ("clipA = " + "document.getElementById('blockDiv')" + ".style.clip.split(\"rect(\")[1].split(\")\")[0].split(\"pt\");");
if (navigator.userAgent.indexOf("etscape") > -1) {
if (which=="t") {return clipA[0];}
if (which=="r") {return clipA[1];}
if (which=="b") {return clipA[2];}
if (which=="l") {return clipA[3];}
} else {
clipr = clipA[1].split(",");
clipb = clipA[2].split(",");
clipl = clipA[3].split(",");
if (which=="t") {return clipA[0];}
if (which=="r") {return clipr[1];}
if (which=="b") {return clipb[1];}
if (which=="l") {return clipl[1];}
}
}
}
function clipTo(obj,t,r,b,l) {
if (ns) {
obj.clip.top = t
obj.clip.right = r
obj.clip.bottom = b
obj.clip.left = l
}
}
function clipBy(obj,t,r,b,l) {
if (ns) {
oc_top1 = clipValues(obj,'t');
oc_top = Number (oc_top1) + Number (t);
oc_right1 = clipValues(obj,'r');
oc_right = Number (oc_right1) + Number (r);
oc_bottom1 = clipValues(obj,'b');
oc_bottom = Number (oc_bottom1) + Number (b);
oc_left1 = clipValues(obj,'l');
oc_left = Number (oc_left1) + Number (l);
eval ("document.getElementById('blockDiv')"+".style.clip=\"rect("+oc_top+"pt "+oc_right+"pt "+oc_bottom+"pt "+oc_left+"pt"+")\";");
}
}
function wipe1() {
if ((clipValues(block,'r')<700)&&(clipValues(block,'b')<400)) {
clipBy(block,0,10,10,0)
setTimeout("wipe1()",30)
}
}
function wipe2() {
if ((clipValues(block,'r')>1)&&(clipValues(block,'b')>1)) {
clipBy(block,0,-10,-10,0)
setTimeout("wipe2()",30)
}
}
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF" onLoad="init()">
<DIV ID="blockDiv" STYLE="position:absolute; left:150; top:80; width:700; height:400; clip:rect(0,0,0,0); background-color:#FF0000; layer-background-color:#FF0000;">
</DIV>
Lire les valeurs du Clip :
<A HREF="javascript:alert(clipValues(block,'t'))">Haut</A>,
<A HREF="javascript:alert(clipValues(block,'r'))">droit</A>,
<A HREF="javascript:alert(clipValues(block,'b'))">bas</A>,
<A HREF="javascript:alert(clipValues(block,'l'))">gauche</A>
<P><A HREF="javascript:wipe1()">Ouvrir la fenêtre</A>
<BR><A HREF="javascript:wipe2()">Fermer la fenêtre</A>
</BODY>
</HTML>
Réponses
|