Problème avec offsetHeight

Fermé
titus49 Messages postés 48 Date d'inscription lundi 31 mars 2014 Statut Membre Dernière intervention 26 avril 2014 - 31 mars 2014 à 14:13
titus49 Messages postés 48 Date d'inscription lundi 31 mars 2014 Statut Membre Dernière intervention 26 avril 2014 - 1 avril 2014 à 01:47
Bonjour à tous

Ne connaissant absolument rien en Javascript, je fait donc appelle à ceux qui savent.

J'ai un code javascript qui me pause souci à son exécution.

Je vous donne mon code.

Code HTML :
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<meta http-equiv="imagetoolbar" content="no">
<link rel="stylesheet" type="text/css" media="all" href="style.css" />

<script type="text/javascript" src="ascenseur.js"></script>
</head>

<body>

<div class="fond_arrondi">
<img onclick="return false;" onmouseover="moveLayer(1);" onmouseout="clearTimeout(Timer);" src="haut.png" class="fleche_haut" alt="" /><img onclick="return false;" onmouseover="moveLayer(-1);" onmouseout="clearTimeout(Timer);" src="Bas.png" class="fleche_bas" alt="" />


<div class="texte" id="contenu">
<p>Itaque verae amicitiae difficillime reperiuntur in iis qui in honoribus reque publica versantur; ubi enim istum invenias qui honorem amici anteponat suo? Quid? Haec ut omittam, quam graves, quam difficiles plerisque videntur calamitatum societates! Ad quas non est facile inventu qui descendant. Quamquam Ennius recte.

Nam quibusdam, quos audio sapientes habitos in Graecia, placuisse opinor mirabilia quaedam (sed nihil est quod illi non persequantur argutiis): partim fugiendas esse nimias amicitias, ne necesse sit unum sollicitum esse pro pluribus; satis superque esse sibi suarum cuique rerum, alienis nimis implicari molestum esse; commodissimum esse quam laxissimas habenas habere amicitiae, quas vel adducas, cum velis, vel remittas; caput enim esse ad beate vivendum securitatem, qua frui non possit animus, si tamquam parturiat unus pro pluribus.

Coactique aliquotiens nostri pedites ad eos persequendos scandere clivos sublimes etiam si lapsantibus plantis fruticeta prensando vel dumos ad vertices venerint summos, inter arta tamen et invia nullas acies explicare permissi nec firmare nisu valido gressus: hoste discursatore rupium abscisa volvente, ruinis ponderum inmanium consternuntur, aut ex necessitate ultima fortiter dimicante, superati periculose per prona discedunt.</p>
</div>

</body>
</html>


Code CSS :
@charset "utf-8";
/* CSS Document */

/************************** MISE EN PAGE **************************/
html, body {
margin:0;
padding:0;
width:101%;
background:url(bg.png);
overflow:hidden;
}

.fond_arrondi {
position:absolute;
left:2%;
width:96%;
top:4%;
height:92%;
background: #d8d8d8;
border-radius: 12px;
box-shadow: 0px 0px 12px rgba(56,142,245,0.5);
behavior: url(PIE.htc);

z-index:1;
}

/************************** ASCENSEURS **************************/
.positionnement {
position: absolute;
top: 0.5%;
width: 99.8%;
height: 99%;
}

.fleche_haut {
position:absolute;
top:5px;
right:5px;
}

.fleche_bas {
position:absolute;
right:5px;
bottom:5px
}

.texte {
position: absolute;
top: 5px;
left: 5px;
width: 95.2%;
height: 98.5%;
text-align:justify;
overflow: hidden;


Code ascenseur.js :
// JavaScript Document

var Timer;
var Pas = 5;
function moveLayer(Sens) {
Objet=document.getElementById("contenu");
if(parseInt(Objet.style.top) + (Pas*Sens)>0) {
clearTimeout(Timer);
}
else if(parseInt(Objet.style.top) + (Pas*Sens)<-(Objet.offsetHeight-document.getElementById("support").offsetHeight)) {
clearTimeout(Timer);
}
else {
Objet.style.top = (parseInt(Objet.style.top) + (Pas*Sens)) + "px";
}
Timer = setTimeout("moveLayer(" + Sens + ");", 30);
}


Mon erreur est :
Ligne : 10
Caractère : 7
Erreur : Impossible d'obtenir la propriété " offsetHeight " d'une référence nul ou non défini.
Code : 0

Merci à ceux qui pourrais me sortir de cela.

2 réponses

animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 738
31 mars 2014 à 23:26
dans le html il n'y a pas d'élément dont l'id est "support"

document.getElementById("support").offsetHeight)) {
clearTimeout(Timer);

je pense que tu dois changer "support" pour "contenu"
0
titus49 Messages postés 48 Date d'inscription lundi 31 mars 2014 Statut Membre Dernière intervention 26 avril 2014
1 avril 2014 à 01:47
Bonsoir animostab

J'ai modifier "support" par "contenu" et j'ai une nouvelle erreur qui se rapproche de la fin.

Elle est passer à :
Ligne : 14
Caractère : 9
Erreur : Argument non valide.
Code : 0

la ligne en question est :
Objet.style.top = (parseInt(Objet.style.top) + (Pas*Sens)) + "px";

Amicalement
0