Problème avec scrollTop !!!

Signaler
Messages postés
10
Date d'inscription
mardi 21 février 2006
Statut
Membre
Dernière intervention
16 mai 2006
-
Messages postés
199
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
27 octobre 2006
-
Bonjour,
Je voudrais récupérer l'ordonnée de ma scrollbar. Pour cela j'ai bien compris qu'il fallait utiliser document.body.scrollTop pour IE, et window.pageYOffset pour les autres navigateurs. Mais ca ne marche pas... avec mon ie 6... donc sur http://www.quirksmode.org/viewport/compatibility.html (très bon site) j'ai pu voir voir que pour ie 6, il fallait utiliser document.documentElement.scrollTop. Oui mais voilà ca marche toujours, pas et j'en ai marre !!! lol ;-) Alors quelqu'un aurait-il une idèe ?? une option sous ie6 ??? Merci.

Silvervana
A voir également:

14 réponses

Messages postés
10
Date d'inscription
mardi 21 février 2006
Statut
Membre
Dernière intervention
16 mai 2006
1
Merci pour ton aide. Alors j'ai du nouveau.. quand je fais un alert avant ca marche, sinon, nan !!! C'est l'hallu nan ??? Il doit y avoir un problème de rafraichissement peut-être....

le code :

function scrollingDetector()
{
if (navigator.appName == "Microsoft Internet Explorer")
{
alert();
document.getElementById("zone_image").style.posTop=parseInt(document.body['scrollTop'] + 32);
}
else
{
calque=zone_image.style;
calque.postop=parseInt(window.pageYOffset + 32);
}
}

Voilou.... Merci !!!

P.S : je veux en fait pouvoir faire suivre une image le long de la scrollbar....
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
document.body.scrollTop pour IE et rien pour les autres
sinon un petit extrait du code ? pour voir ?
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,

function scrollingDetector()
{
var calque=document.getElementById("zone_image");
if (navigator.appName == "Microsoft Internet Explorer")
{
calque.style.top=document.body.scrollTop + 32;
}
else {
calque.style.top=window.pageYOffset + 32;
}
}

body["scrollTop"] ? pas la bonne syntaxe
posTop ? ne doit pas exister
pageYOffset ? pour FF, sûr ?
pas testé ( donc peut-être moi aussi erreur de syntaxe,
pas vérifié pageYOffset ) car je n'ai pas "zone-image".

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Bonjour...

avec cela cela devrait marcher...
var NETSCAPE (navigator.appName "Netscape");
var Obj = document.getElementById('zone_image'
).style;

if( NETSCAPE){

Obj.top
= window.pageYOffset +32;
}
else{

Obj.pixelTop
= document.body.scrollTop
+32
;
}

;0)
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
ReBonjour...

1000 excuses mais The BU
LT
E
Z
c'est réveillé avant moi...ou alors saisi bien plus vite...

PS : Deux réponses, quand ce sont les mêmes valent mieux qu'aucune...

;0))
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
y'a pas d'mal Petoleteam , nos messages se sont croisés, c'est tout.
et nos réponses ne sont pas tout à fait les mêmes, silvervana verra
ce qui lui convient et peut-être nous dira-t-il si ça baigne ?
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
au fait Petoleteam, sais-tu que les images que tu insère

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
au fait Petoleteam, sais-tu que les images que tu insère
( ici entre Re et Bonjour ) ne sont pas visibles ?
moi je ne vois que ces satanés petites croix rouge sur fond blanc.

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
10
Date d'inscription
mardi 21 février 2006
Statut
Membre
Dernière intervention
16 mai 2006
1
Bonjour,

Merci pour vos réponses. En fait mon code fonctionne aussi bien que vos réponses... et oui body['scrollTop']
marche et non pas body["scrollTop"]. En fait mon problème est que je suis obligé de rajouter un alert() pour que cela fonctionne... surement un problème avec mon navigateur ie6... Auriez vous des idèes ??? Merci !!!

Silvervana

P.S : pour votre code je suis aussi obligé de rajouter un alert pour que cela fonctionne....
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Bien le ReBonjour...

Je n'ai jamais rencontré ce problème mais je ne fait pas appel directement mais via des fonctions...

Voir sources de INFO BULLE TOUJOURS VISIBLE par exemple...

PS: A l'attention de
The BU
LT
E
Z
Je n'insère pas d'image entre...

;0)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
======================================
à petoleteam:
je vois : B ien le ReBonjour...

dans ta signature ? ou ça vient de moi ?
mais je n'ai pas ça dans les autres messages d'autres intervenants ?
========================================
à silvervana
>> je suis obligé de rajouter un alert() pour que cela fonctionne...
>>surement un problème avec mon navigateur ie6
sûrement pas ( si tu disais avec FF je répondrais pareil ! )
il doit y avoir une erreur mais difficle à déterminer sans plus de code ?
======================================

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Messages postés
10
Date d'inscription
mardi 21 février 2006
Statut
Membre
Dernière intervention
16 mai 2006
1
Re !!!

Bon ca yé, j'ai résolu mon problème...

Je mets le code si ca intéresse... en fait "zone_image" est un div ou je mets une image. Ensuite, mon script, va déplacer mon div en même temps et au même endroit que la scrollbar. voilou. J'ai résolu mon problème en utilisant un setTimeout... Merci pour vos réponses et a bientôt sur le forum !!!!

Silvervana

Code :

<SCRIPT language="javascript">


// PARAMETRAGE DU SCRIPT
var tjs_delai=30;
function scrollingDetector()
{
if (navigator.appName == "Microsoft Internet Explorer")
{
document.getElementById("zone_image").style.posTop=parseInt(document.body['scrollTop'] + 32);
}
else
{
calque=zone_image.style;
calque.top=parseInt(window.pageYOffset + 32);
}


Start();
}


function Start()
{
setTimeout("scrollingDetector()",tjs_delai);
}


</SCRIPT>
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
E
xcuses à silverana mais je réponds d'abord à The BU
LT
E
Z...

Problème lors de mon init de membre je présume, à résoudre, car effectivement sur IE c'est vilain, et le mot est faible
.

Utilisant FireFox je n'est pas vu le problème...

A silverana heureux que cela marche...

;0)
Messages postés
199
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
27 octobre 2006
1
A la place de rappeler un setTimeout dans ta function, tu peux utiliser

setInterval(fonction, delai)



Aucune amélioration, c'est juste plus propre, voilà.