tibob51
Messages postés268Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention13 mai 2013
-
27 févr. 2008 à 19:25
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
1 mars 2008 à 10:15
Bonjour,
Je suis débutant en java (je galère pas mal même), et sur ce morceaux de code je n'arrive pas a comprendre pourquoi ma ariable posi est égale à 0.
PS: les lignes en commentaire c'est juste pour les neutraliser.
var Obj = document.getElementById('im');
var posi= parseInt(Obj.style.top);
//var posi= Obj.style.top;
document.write(posi);
//Obj.style.top = posi;
// Obj.style.top=180;
Pourquoi ne pas utiliser directement l'instruction offsetTop ? Parceque dans certains cas (notament quand il y a une position relative ds le DOM), offsetTop va te renvoyer la position par rapport à son parent et par rapport au document.
tibob51
Messages postés268Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention13 mai 20132 28 févr. 2008 à 11:56
Désolé pour ma faute de fraape, oui c'est du javascript.
A la base je veut faire bouger un menu flotant, qui serai suitué dans un div.
Mais pour mes test je le fait sur une image.
le html:
le scipt (qui se trouve dans un fichier séparé):
window.onscroll = function()
{
//document.getElementById('im').style.top = document.body.scrollTop;
var Obj = document.getElementById('im');
var posi=Obj.style.top;
//var posi= parseInt(Obj.style.top);
posi += document.body.scrollTop;
//posi += 180;
document.write(posi);
//Obj.style.top = posi;
// Obj.style.top=180;
//Obj.style.width=180;
}
(les lignes mises en commentaire c'est pour neutraliser leur code)
tibob51
Messages postés268Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention13 mai 20132 28 févr. 2008 à 14:57
C'est ce que j'ai pensé moi aussi, c'est pour ça qu'il ya cette ligne:
//Obj.style.width=180;
j'ai fait un test pour voir si déjà j'avais l'objet, et oui la taille de mon imagepasse bien a 180px.
pour résumer:
//Obj.style.width=180; -->marche
//document.getElementById('im').style.top = document.body.scrollTop; --> erreur
var posi=Obj.style.top; --> ne marche pas (renvoi 0 et f et fait planté explorer, quand j'utilie document.write.. pour l'afficher).
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 28 févr. 2008 à 15:16
pourrais-tu simplement, nous mettre ce qui ne va pas ?
pour ici, évite les // si tu n'utilises pas, par contre enlève les si c'est ce que tu veux faire.
mets nous le minimum, mais tout ce qui est néceesaire, tel que tu utilises,
sinon on doit interpréter, modifier, ne pas faire la même chose que toi....
<hr /> Cordialement Bul [mon Site] [M'écrire]
XtremDuke
Messages postés626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 28 févr. 2008 à 17:15
Correction :
Parceque dans certains cas (notament quand il y a une position relative
ds le DOM), offsetTop va te renvoyer la position par rapport à son
parent et non par rapport au document.
tibob51
Messages postés268Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention13 mai 20132 29 févr. 2008 à 21:13
Voici ce qui plante
var Obj = document.getElementById('im');
var posi=Obj.style.top; // erreur ici posi = 0;
posi += 10;
Obj.style.top = posi;
XtremDuke> je n'arrive pas a comprendre la ligne (je débute totalement en javascript et la façon dont fonctionne ce language me semble un peu mystique)
valTop += oObj.offsetTop || 0;
valTop est égal à Obj.offsetTop ou 0???
Sinon j'ai du mal a voir où implanter cette fonction et quoi faire de l'objet retourné.
Merci pour votre aide