A l'aide (FireFox)

Signaler
Messages postés
18
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
15 septembre 2008
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Bonjour

je suis complètement ignare en javascript. ce que je constate c'est que
mon site fonctionne mal avec FireFox , alors qu'il fonctionne
correctement sur IE

voici le code source qui ne fonctionne pas :

//
var isIE = (-1 != navigator.appName.indexOf("Microsoft"));

function tmt_LayerScrollerStop(){
var args = tmt_LayerScrollerStop.arguments;var i=0;
for (i=0;i 0) {
dx = -cl;
} else {
if (ct + dy < 0) {
dy = -ct;
}
}
target.clip.left = cl + dx;
target.clip.top = ct + dy;
target.clip.right = cr + dx;
target.clip.bottom = cb + dy;
target.top = t - dy;
target.left = l - dx;
} else {
if (document.all) {
IEobjStr = targetIE.replace("['", ".");
target = eval(IEobjStr.replace("']", ""));
if (target.style.clip) {
var clipv = target.style.clip.split("rect(")[1].split(")")[0].split("px");
var ct = Number(clipv[0]);
var cr = Number(clipv[1]);
var cb = Number(clipv[2]);
var cl = Number(clipv[3]);
var l = target.style.pixelLeft;
var t = target.style.pixelTop;
}
if (cl + dx < 0) {
dx = -cl;
} else {
if (cr + dx > target.style.pixelWidth) {
dx = target.style.pixelWidth - cr;
}
}
if (ct + dy < 0) {
dy = -ct;
} else {
if (cb + dy > target.style.pixelHeight) {
dy = target.style.pixelHeight - cb;
}
}
ncl = cl + dx;
nct = ct + dy;
ncr = cr + dx;
ncb = cb + dy;
target.style.pixelTop = t - dy;
target.style.pixelLeft = l - dx;
eval("target.style.clip = 'rect(' + nct + ' ' + ncr + ' ' + ncb + ' ' + ncl +')'");
}
}
// BEGIN PATCH
if (null != target.tmtScrollo)
clearTimeout(target.tmtScrollo);
// END PATCH

target.tmtScrollo = setTimeout("tmt_LayerScroller("" + targetNN + "","" + targetIE + ""," + dx + "," + dy + "," + delay + ")", delay);


(il s'agit des ascenseurs qui se trouvent sur certaines pages)

pour s'en rendre compte :

http://www.domicila.fr/bureaux/page_bureau.htm



Merci d'avance à tous



Eric

4 réponses

Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
4
Bonjour!

J'ai modifié le script pour Firefox.

Le script :


<SCRIPT language= JavaScript>
<!--

//

var isIE
=
(-1
!= navigator
.appName
.indexOf
("Microsoft"));
// tmt_LayerScrollerStop

function tmt_LayerScrollerStop
(targetNAME
) {

if
(document
.getElementById
)
tmt_div
= document
.getElementById
(targetNAME
);

else

if
(document
.layers
)
tmt_div
= document
.layers
[targetNAME
];

if
(tmt_div
&& tmt_div
.tmtScrollo
!=null)
clearTimeout
(tmt_div
.tmtScrollo
)

}

function tmt_LayerScroller
(targetNAME
, dx
, dy
, delay
)
{

if
(document
.layers
)
{
target
= document
.layers
[targetNAME
];

var cl
= target
.clip
.left;

var ct
= target
.clip
.top;

var cr
= target
.clip
.right;

var cb
= target
.clip
.bottom;

var l
= target
.left;

var t
= target
.top;

if
(cl
+ dx
>
0)
{
dx
=
-cl;

}
else
{

if
(ct
+ dy
<
0)
{
dy
=
-ct;

}

}
target
.clip
.left
= cl
+ dx;
target
.clip
.top
= ct
+ dy;
target
.clip
.right
= cr
+ dx;
target
.clip
.bottom
= cb
+ dy;
target
.top
= t
- dy;
target
.left
= l
- dx;

}
else
{

if
(document
.getElementById
)
{
target
= document
.getElementById
(targetNAME
);

if
(target
.style
.clip
)
{

var clipv
= target
.style
.clip
.replace
(/,/g
,"").split
("rect(")[1].split
(")")[0].split
("px");

var ct
= Number
(clipv
[0]);

var cr
= Number
(clipv
[1]);

var cb
= Number
(clipv
[2]);

var cl
= Number
(clipv
[3]);

var l
= target
.offsetLeft;

var t
= target
.offsetTop;

}

if
(cl
+ dx
<
0)
{
dx
=
-cl;

}
else
{

if
(cr
+ dx
> target
.offsetWidth
)
{
dx
= target
.offsetWidth
- cr;

}

}

if
(ct
+ dy
<
0)
{
dy
=
-ct;

}
else
{

if
(cb
+ dy
> target
.offsetHeight
)
{
dy
= target
.offsetHeight
- cb;

}

}
ncl
= cl
+ dx;
nct
= ct
+ dy;
ncr
= cr
+ dx;
ncb
= cb
+ dy;
target
.style
.top
= t
- dy;
target
.style
.left
= l
- dx;
eval
("target.style.clip = 'rect(' + nct + 'px ' + ncr + 'px ' + ncb + 'px ' + ncl +'px)'");

}

}
// BEGIN PATCH

if
(null
! = target
.tmtScrollo
)
clearTimeout
(target
.tmtScrollo
);
// END PATCH

target
.tmtScrollo
= setTimeout
("tmt_LayerScroller(""
+ targetNAME
+
"","
+ dx
+
","
+ dy
+
","
+ delay
+
")", delay
);

}
//-->
</SCRIPT>

Tu devras changer aussi les liens des flèches :



href =
"#"

onMouseDown=
"tmt_LayerScroller('map',0,-7,1)"

onMouseOut=
"tmt_LayerScrollerStop('map')"

onMouseOver=
"tmt_LayerScroller('map',0,-1,1)"

onMouseUp=
"tmt_LayerScrollerStop('map')">

A+, Ghislain
Messages postés
18
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
15 septembre 2008

Merci c'est vraiment super sympa

est-ce que ca va également marcher pour les autres navigateurs?

Merci encore....

Je suis consultant base de données, si tu as besoin de trucs, n'hésites
pas (spécialisé dans DB2, je sais pas si ca pourra te servir un
jour.....)

Merci

Eric
Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
4
Salut!

Ça demeure compatible avec EI et j'ai testé avec FIREFOX. Je n'ai pasté avec NS mais ça devrait être également compatible NS4.7+. Pas testé avec OPERA.

A+, Ghislain
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
quand ça passe avec firefox, ça passe avec ns et mozz (vive gecko)

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org