11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour ,
Je suis entrain de faire la v2 de mon site (qui est fait sous wordpress) et pour rendre le site plus accueillant , j'ai voulu faire un thème qui changeait un peut selon qu'on soit le jour ou la nuit .
N'ayant pas beaucoup de connaissance javascript , j'ai cherché des codes semblable a adapter.
j'ai trouvée un code ressemblant a ce que je voulaisici

j'ai donc dans mon <head> , un appel vers le code javascript :

<head profile="http://gmpg.org/xfn/11">
...
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<script src="template-switcher.js" type="text/javascript"></script>
</head>

<body class=day>

le code javascript en lui même

HeureLocale = new Date();
if (HeureLocale.getHours() < 7 || HeureLocale.getHours() > 19)
    document.getElementsByName("body")[0].className = "night";
}

Je précise que le fait de changer manuellement la classe de body marche et fait apparaitre le thème de nuit .
malheureusement le code javascript marche pas Smiley decu .
Modifié par inkey (28 Oct 2009 - 14:37)
Bonjour,

À vue de nez: au moment où ton code JavaScript est exécuté, l'élément BODY n'existe pas dans le DOM.

Solutions:
- placer l'appel du script à la fin du code HTML (juste avant </body>);
- ou bien différer l'exécution du script (body.onload, domready, etc.).
en plaçant l'appel a la fin du script comme tu me la signaler , cela me donne toujours le même résultat .
Je pense qu'il y a une autre erreur . Smiley decu
Modérateur
Hello,

Je ne suis pas du tout expert en js. Cependant, ce ne serait pas ceci par hasard :

document.getElementsByTagName("body")[0].className = "night";