AFFICHE DES MESSAGES DIFFERENTS TOUS 5 SECONDES

la_pin Messages postés 275 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 15 décembre 2005 - 15 juin 2005 à 13:23
cs_darkman2 Messages postés 121 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 31 décembre 2005 - 20 juil. 2005 à 08:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32080-affiche-des-messages-differents-tous-5-secondes

cs_darkman2 Messages postés 121 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 31 décembre 2005
20 juil. 2005 à 08:56
merci crashtest
Marmotte86 Messages postés 34 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 9 août 2007
7 juil. 2005 à 12:52
aze555666 le plus simple pour éviter de recharger la page à chaque fois, c'est de mettre une balise
, et de changer le contenu html de cette balise :)
pour ça, il faut modifier la fonction disp(txt) en :
function disp(txt) {
document.getElementById("message").innerHTML= txt;
setTimeout("msg.Aff()",5000);
}
avec evidemment ici, la balise div déclarée à la place de l'appel de la fonction msg.Aff() dans le corps de la page :



Pour le premier lancement, il faudrait donc appeler la fonctionà l'aide de l'événement onload de la page :

De cette manière, le message s'inscrit une première fois apres le chargement complet de la page, et change toutes les 5 secondes, sans recharger la page.

ce qui donne au final :

<HTML><HEAD><TITLE>JScript - Un message pour chaque visite</TITLE>
<SCRIPT language=JavaScript>

// Création de la base de données des messages
var msg=new InitMsg();
msg.Add("Bonjour et bienvenue sur http://www.codes-cources.com/jscript");
msg.Add("Des mises à jour et des nouveautés; régulières");
msg.Add("blablablablabla : ");
msg.Add("salut a tous blablablabla");
msg.Add("bonjour comment ca va");
msg.Add("Ne cherchez plus, votre javascript est ici www.codes-sources.com !");
// COMPLETER LA BASE ICI
// msg.Add( );

function disp(txt) {
document.getElementById("message").innerHTML=txt;
setTimeout("msg.Aff()",5000);
}

function InitMsg() {
this.nb_item=0;
this.Add=AddMsg;
this.Aff=AffMsg;
}
function AddMsg(txt) {
var nb = this.nb_item;
this[nb]=txt;
this.nb_item++;
}
function AffMsg() {
var nb = this.nb_item;
var no=Math.round(Math.random(1)*(nb-1));
disp(" "+this[no]+" ");
}
function reload() {
window.location =document.location;
}
</SCRIPT>

<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>

<CENTER>Le message du jour est :





<SMALL>La page est rechargée toutes les 5 secondes, pour montrer
l'affichage alétoire des messages</SMALL> </CENTER><!-- Script développé par Darkman--></HTML>
aze555666 Messages postés 208 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 26 janvier 2009
20 juin 2005 à 21:53
je ne connais pas g chose au js, alors je ne me permettrais pas de mettre un mauvaise note, mais la page qui se recharge toutes les 5 secondes, il y a pas moyende faire autrement? tout le monde n'a pas l'affichage instantané! tu pourrais mettre une page rien que pour afficher le message dans une iframe, pour ne pas avoir à,tout recharger, par exemple.
cs_darkman2 Messages postés 121 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 31 décembre 2005
16 juin 2005 à 11:36
ok je vais essayer de l'ameliorer la_pin
@+ les programmeurs
la_pin Messages postés 275 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 15 décembre 2005
15 juin 2005 à 16:10
Je trouve le script bien pour un débutant du fait qu'il est super simple et qu'il met bien en avant plusieurs fonctions javascript utiles.
Pour la note, je te mets 6/10 car le code n'est pas une nouveauté, tu ne l'as pas conçu et qu'il est quand même archi-basique.
PS: ya un pb dans le titre de ta source ^^
cs_darkman2 Messages postés 121 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 31 décembre 2005
15 juin 2005 à 16:06
je veux dire la note??
cs_darkman2 Messages postés 121 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 31 décembre 2005
15 juin 2005 à 16:00
ok la_pin merci pour la remarque
je vais essayer de modifier
mais tu trouve comment le script??
tu me donnes combien pour le note??
la_pin Messages postés 275 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 15 décembre 2005
15 juin 2005 à 13:23
J'ai déjà vu ce script quelque-part...
Sinon, il faut vraiment que tu changes tes habitudes de codage html, un script de se met pas entre 2 balises de META (qui n'ont dailleurs rien a faire ici) mais après. Les balises BIG, SMALL, et CENTER sont vieilles maintenant et les attributs du style size etc... s'écrivent size="-1" et non size=-1.
Essaye de coder aux normes, ton codage html risque sinon de ne pas être compatibles partout.