Problème de bannières

Fermé
Momongana Messages postés 42 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 8 mai 2016 - Modifié par Momongana le 18/01/2014 à 09:17
 momongana - 22 janv. 2014 à 08:02
Bonjour,



J'ai un problème dans ce script.
Le but étant d'afficher la bannière du site en premier pendant 5 secondes, puis afficher les autres, sans que la première ne réapparaisse !
Ce script étant appelé par tous les sites adhérents, il faut absolument que la première bannière "tirée" soit celle du site appelant.

Voici le code :

bansite = new Array;
banimageUrl=new Array;
message=new Array;
num=new Array;

banimageUrl[0] = "http://www.pub04.com/Bannieres/Pub1.jpg"; //Auto Pneus Meca Services.
bansite[0] = "http://www.autos-pneus-meca-services.fr";
message[0]="Le garage qu'il vous faut absolument connaitre !";
num[0]="Pneus discount, mécanique g\351n\351rale, entretien tous \351hicules !";

banimageUrl[1] = "http://www.pub04.com/Bannieres/Pub0.jpg"; //Pub04.
bansite[1] = "https://www.pub04.com/";
message[1]="Une publicit\351 qui va faire exploser votre visibilit\351 sur Internet !";
num[1]="Cr\351ation de site - Publicit\351 participative !";

banimageUrl[2] = "http://www.pub04.com/Bannieres/Pub2.jpg"; //Taxi Nath.
bansite[2] = "https://www.taxinath.com/";
message[2]="Besoin d'un Taxi ? Appelez le... Un must !";
num[2]="Liaisons gares, a\351roports, ports, toutes distances.";

banimageUrl[3] = "http://www.pub04.com/Bannieres/Pub3.jpg"; //Pub04.
bansite[3] = "https://www.pub04.com/";
message[3]="Sites personnalis\351 \340 des prix incroyables !";
num[3]="Soyez assur\351 d'avoir un r\351f\351rencement r\351ussi !";

banimageUrl[4] = "http://www.pub04.com/Bannieres/Pub5.jpg"; //JMC-Auto.
bansite[4] = "http://www.jmc-auto.com";
message[4]="Nouveau sur les MEES... A visiter absolument !";
num[4]="R\351paration et entretien de votre v\351hicule.";

banimageUrl[5] = "http://www.pub04.com/Bannieres/Pub4.jpg"; //Pub-Alpes.
bansite[5] = "https://www.pub-alpes.fr/";
message[5]="Le concept qui va propulser votre visibilit\351 sur Internet";
num[5]="Ne cherchez pas ailleurs ce que vous avez sur place !";

affiche = false;

// declaration de la liste des indices
var liste=new Array(bansite.length);
// fonction pour initialiser cette liste
function initListe()
{
// declaration des variables locales (utilisables uniquement dans cette fonction)
var i,temp;
// on remplit le tableau avec les valeurs de 0 a la totalité du nombre de sites.
for (i=0;i<bansite.length;i++)
{
// au debut, chaque element de la liste prend la valeur de son indice. On les melangera plus tard
liste[i]=i;
// on en profite pour verifier si l'adresse du site correspondant a cet indice est celle du document en cours
if (bansite[i]==document.location)
{
// si oui, on met l'adresse du site et son image au debut de la liste (on permute en fait avec ce qui s'y trouvait).
temp=banimageUrl[0]; // sauvegarde de l'adresse de l'image0
banimageUrl[0]=banimageUrl[i]; // image du site courant en debut de liste
banimageUrl[i]=temp; // image0 a la place du site en cours
bansite[i]=bansite[0]; // pareil pour l'adresse du site
bansite[0]=document.location; // si on execute ce code, c'est que document.location=bansite[i]
}
}
// on melange aleatoirement la liste des indices
melangeListe();
}
/* fonction pour melanger les indices (sauf l'indice 0 qui correspond a la bannière du site appelé et que je ne veux pas repeter */
function melangeListe()
{
var i,x1,x2,temp; // declaration des variables locales

for (i=0;i<bansite.length;i++)
{
x1=Math.floor(Math.random()*(bansite.length-1))+1; // 1er indice aleatoire
x2=Math.floor(Math.random()*(bansite.length-1))+1; // 2e indice aleatoire
temp=liste[x1]; // on permute les indices en passant par une variable temporaire
liste[x1]=liste[x2];
liste[x2]=temp;
}
}
// la fonction AffichePub
function AffichePub()
{
var nouvelle,derniere; // declaration des variables locales
if(!affiche) // si affiche est faux, 1er appel de la fonction donc initialisation de la bannière correspondant à l'URL appellé !
{
setTimeout("AffichePub()",5000); //Tempo pour l'affichage de la 1ère bannière (celle du site)
initListe(); // initialisation de la liste d'indices.
numimage= 0; // on commence par la bannière du site visite (indice 0)
// insère la bannière et son lien dans la page web
document.write ('<IMG style="cursor:pointer" onClick="window.open(bansite[liste[numimage]],\'_blank\')" SRC="' + banimageUrl[liste[numimage]] + '" BORDER=1 NAME=banpub>');
affiche = true; // on n'effectuera plus cette portion de code
}
else // sinon
{
setTimeout("AffichePub()",5000); //Tempo pour les bannières suivantes
if(numimage == (bansite.length-1)) // si on arrive a la fin, il n'y a plus d'image
{
derniere=liste[bansite.length]; // on memorise l'indice de la dernière image affichee
melangeListe();// on melange la liste
if (liste[1]==derniere) // si la première image de la nouvelle liste est la dernière affichee
{
nouvelle=Math.floor(Math.random()*(bansite.length-2)+2); // on tire au sort un nombre entre 2 et le max de sites
liste[1]=liste[nouvelle]; // et on permute l'indice correspondant dans liste avec celui de liste[1]
liste[nouvelle]=derniere;
}
numimage = 0; // on veut commencer a partir de liste[1]. Comme on incremente numimage d'abord, il faut 0 ici
}
document.banpub.src=banimageUrl[liste[++numimage]]; // on incremente numimage avant d'utiliser sa valeur
document.getElementById('meshaut').innerHTML=message[liste[numimage]]; // message de la bannière.
document.getElementById('numsite').innerHTML="Adherent " + num[liste[numimage]]+ " sur " + bansite.length; // numéro du Site.
}
}

// On appelle une première fois AffichePub pour initialiser le fonctionnement des bannières
AffichePub();

D'avance, merci à tous ceux qui pourront m'aider...

1 réponse

Résolu.... Le script est bon, j'avais une "merde" dans l'ordi...
0