Problème avec scrollTop !!!

silvervana Messages postés 10 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 16 mai 2006 - 23 mars 2006 à 16:27
GlanduSchmoldu Messages postés 199 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 27 octobre 2006 - 26 mars 2006 à 22:03
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

14 réponses

silvervana Messages postés 10 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 16 mai 2006 1
23 mars 2006 à 17:34
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....
1
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
23 mars 2006 à 16:51
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>
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 mars 2006 à 08:02
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>
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
24 mars 2006 à 08:07
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
24 mars 2006 à 08:12
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))
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 mars 2006 à 10:11
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>
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 mars 2006 à 10:13
au fait Petoleteam, sais-tu que les images que tu insère

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 mars 2006 à 10:14
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>
0
silvervana Messages postés 10 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 16 mai 2006 1
24 mars 2006 à 10:14
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....
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
24 mars 2006 à 10:25
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)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 mars 2006 à 10:36
======================================
à 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>
0
silvervana Messages postés 10 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 16 mai 2006 1
24 mars 2006 à 10:38
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>
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
24 mars 2006 à 11:25
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)
0
GlanduSchmoldu Messages postés 199 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 27 octobre 2006 1
26 mars 2006 à 22:03
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à.
0
Rejoignez-nous