11487 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,
malgré mon inexpérience "crasse", je persiste à vouloir des trucs qui sortent de l'ordinaire !!!!
dans mon sous-programme "manifestation" ( pour l'instant, les accès sont merd***** et seulement possibles via docutech.ch puis cliquer sur la photo en bas à droite "manifestation".
le sous-programme s'ouvre et une photo aléatoire sur 10 concernant les manifestations apparait au centre de l'écran.
J'ai réussi à obtenir cette photo grace à un programme javascript qui finalement fonctionne à peu près.

<!-- *********** photo aleatoire ***************** -->
<div id=photo_deco>
<script LANGUAGE="JavaScript">

var n = parseInt(Math.random()*10);
while (isNaN(n)) {
n = parseInt( Math.random() * 10)
}
document.write("<img src='photo/image" + n + ".jpg' width=1200 height=780 alt='Image aléatoire'>");
</script>
</div>
<!-- ******************** Fin photo aleatoire ********************* -->

Mon seul problème, insoluble pour moi !!! c'est que je suis obligé de cliquer sur la touche "actualiser la page courante" pour afficher une autre photo. J'ai essayé plusieurs solutions qui se sont révélées aussi nulles les une que les autres.
je n'arrive pas à trouver ou placer le "document.write" ou alors, a quel endroit inserer un raffraichissement d'ecran.

merci d'avance de vos conseils éclairés
Bonjour @hevetdulac !

Le code JS que tu as utilisé est en effet de l'ordre de l'"à peut près" Smiley sweatdrop .

function randInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
};

//exemple
var monNombreAleatoire = randInt(1, 10);

Cette fonction te permettra d'obtenir un nombre aléatoire entre 1 et 10.

Le "problème" avec l'instruction
document.write()
c'est qu'elle remplace tout le contenu de ta page.

Ne connaissant pas le contexte d'exécution de ton code, c'est difficile de dire si cette instruction est adaptée ou non à ton besoin.
Après si tu veux de l'interaction sur ta page, cela devient nécessaire d'apprendre le Javascript ici ou éventuellement JQuery par là.