Pb de div en JavaScript

Fermé
jo_de_bordo - 26 mai 2009 à 18:11
PhP Messages postés 1770 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 - 26 mai 2009 à 21:09
Bonjour,
voila mon code HTML:

<body>
<div class="haut">
<img src="Img/inconnu_titre.jpg"/>
</div>
<script type="text/javascript" src="java/inconnu.js">
</script>
</body>

mon javascript:

function list_nb()
{
var n = 2;
document.write("<FORM>");
document.write("<SELECT>");
while(n < 10)
{
document.write("<option value=");
document.write(n);
document.write(">");
document.write(n);
document.write("</option>");
n++;
}
document.write("</SELECT>");
document.write("</FORM>");
}

function new_div(name)
{
var div_milieu = document.createElement('div');
div_milieu.setAttribute("id", name);
body = document.body.appendChild(div_milieu);
}

list_nb();
new_div("milieu_nb1");


et pour fini mon CSS :

#milieu_nb1
{
width: 215px;
height: 219px;
overflow: hidden;
background-color: #fae9be;
background-image: url("../Img/button_y.jpg");
background-position: center;
background-repeat: no-repeat;
line-height: 215px;
text-align: center;
border: 12px solid black;
}

Je ne comprend pas... mon but est de centrer ma liste deroulante sur mon image, cela marche tres bien si je creer la div dans le HTML comme ceci :

<body>
<div class="haut">
<img src="Img/inconnu_titre.jpg"/>
</div>
<div id="milieu_nb1">
<script type="text/javascript" src="java/inconnu.js">
</script>
</div>
</body>

et en retirant la fonction new_div du fichier javascript bien entendu xD.
j'ai passer la journee dessus svp aidez moi je commence a peine a apprendre le html // javascript et je rame un peu (merci de me preciser egalement un mauvais codage (mauvaise habitude ;) ) )
merci d'avance.

Jonathan
A voir également:

1 réponse

PhP Messages postés 1770 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
26 mai 2009 à 21:09
Bsr


merci de me preciser egalement un mauvais codage (mauvaise habitude ;)


Hum ... Disons que par rapport à la façon dont je code aujourd'hui je dirais que bcp de choses ne vont pas mais c'est juste mon avis hein pas la vérité abolue ..; lol

Alors voilà

d'abord au niveau du HTML il faut mettre un doctype au début si tu ne veux pas obtenir des résultats "étranges" (surtout sur les navigateurs assez anciens genres IE 6 ;-)
Et puis la langue et le jeu de caractères utilisés
Note que tu l'utilises peut-être déjà mais comme ça n'apparaît pas ds ton code

Voici ce que ça donne pour une page vide :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
</body>
</html>


Ensuite je ne mets aucun code javascript entre <body> et </body>

Tout le code JS donc <script type="text/javascript" src="java/inconnu.js"> notamment doit se trouver entre <head> et </head>
Attention ici ça risque de rendre ton code complétement inopérant !

Ne jamais utiliser document.write : à proscrire !
Manipuler les éléments via DOM comme tu le fais dans ta fonction new_div avec appendChild par ex
Ne pas essayer de manipuler les éléments tant que l'arbre DOM n'est pas chargé : pour faire simple tant que l'événement onload n'a pas eu lieu même si un onDOMReady serait meilleur ;-)

Ne pas utiliser les gestionnaires d'événement inline du genre <a href="#" onclick="gestionnaire()">
Utilisez la programmation orientée objet : bon pour ça ok tu peux qd même attendre d'atteindre un bon niveau ce n'est pas absolument obligatoire mais c'est tellement pratique et puissant

2