IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Bannière aléatoire avec pourcentage d'apparition


Sujet :

HTML

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Bannière aléatoire avec pourcentage d'apparition
    Bonjour !

    Voilà j'ai créé sur mon forum un script html basique me permettant d'afficher aléatoirement (à chaque réactualisation de la page) l'une des deux bannières que j'y ai installé.

    Voici le code.

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var banner = new Array();
     
    banner.push('http://nsa30.casimages.com/img/2012/06/11/120611083451806236.png');
    banner.push('http://nsa30.casimages.com/img/2012/06/11/120611083414717103.png');
     
    document.getElementById('i_logo').src= banner[Math.floor(Math.random()*banner.length)];

    Cependant, je vais devoir y rajouter d'autres bannières, que je souhaite voir moins souvent. (Notamment l'une qui n'aura environ que 1% de chance d'être affichée par rapport aux autres.) Alors excepté la méthode barbare consistant à rajouter une centaine de fois les bannières principales, est-ce qu'il existerait un code en html pour donner tel pourcentage d'apparition à une image, ou encore dire que si le nombre aléatoire tombe entre tant et tant, alors telle image s'affichera.. ?

    J'ai créé un code php qui, je pense, fonctionne. Cependant je ne sais pas où trouver un site externe où l'intégrer, car mon forum n'accepte pas le php. Pour info le voici :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    #
    ### Le nombre aléatoire est entre 1 et 100 000. Si c'est 1, ce sera l'image 1. Si c'est entre 2 et 50 000, ce sera l'image 2. Sinon, ce sera l'image 3.
    #
     
    $affimage=rand(1,100000);
    if($affimage=1)
    echo("<img>http://nsa29.casimages.com/img/2012/06/11/12061110553668841.png</img>");
    }else if($affimage>1 && $affimage<50000) {
    echo("<img>http://nsa30.casimages.com/img/2012/06/11/120611083414717103.png</img>");
    }else{
    echo("<img>http://nsa30.casimages.com/img/2012/06/11/120611083451806236.png</img>");}
    ?>

    Je vous avoue que si un code pareil existe bel et bien en HTML, je préférerais.

    Je vous remercie d'avance !

    Drakylla.

  2. #2
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    Par défaut
    Salut,
    Impossible de faire ca en HTML...
    En javascript c'est possible avec Math.random() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var random = Math.floor(Math.random() * 100000);
    et ensuite faire les mêmes conditions que tu as fais en PHP !

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    (Pardon au modérateur qui a du mettre les couleurs dans mes codes, j'avais oublié.)

    Merci du temps de réponse !
    Donc je laisse de côté le html et j'entame le javascript, malheureusement je m'y connais beaucoup moins dans ce langage.
    Dois-je commencer et finir le code par une balise particulière ?
    Je ne pose pas plus de questions, pour le reste je vais aller lire quelques tutoriels sur javascript. Merci encore !

  4. #4
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    Par défaut
    Oui il te faut les balises script.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <script type="text/javascript">
     
    $(document).ready(function(){
    var random = Math.floor(Math.random() * 100000);
    if(random == 1){
            $('.mon-image').html('<img src="images/image1.jpg">');
    } else if (random > 1 && random < 50000){
            $('.mon-image').html('<img src="images/image2.jpg">');
    } else {
            $('.mon-image').html('<img src="images/image3.jpg">');
    }
    });
    </script>
    J'ai utilisé du Jquery, il te faut donc importer la libraire dans ton code, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script language="javascript" type="text/javascript" src="jquery.js"></script>
    Ca devrait ressembler à quelque chose...

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je crois que je me suis un peu perdu dans le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script language="javascript" type="text/javascript" src="jquery.js">
     
    $(document).ready(function(){
    var random = Math.floor(Math.random() * 100000);
    if(random == 1){
    	$('.mon-image').html('<img src="http://nsa29.casimages.com/img/2012/06/11/12061110553668841.png">');
    } else if (random > 1 && random < 50000){
    	$('.mon-image').html('<img src="http://nsa30.casimages.com/img/2012/06/11/120611083414717103.png">');
    } else {
    	$('.mon-image').html('<img src="http://nsa30.casimages.com/img/2012/06/11/120611083451806236.png">');
    }
    </script>
    Que représente le "document" entre parenthèses ?

    Et si je veux rajouter des bannières plus tard, en plus de modifier les nombres actuels j'aurais la possibilité de rajouter plusieurs else sans problème ?

  6. #6
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    // permet de lancer le code, une fois que ta page a fini de charger entièrement
    $(document).ready(function(){
     
    // permet d'avoir un chiffre alétoire entre 0 et 100000
    var random = Math.floor(Math.random() * 100000);
     
    // si ton chiffre aléatoire (random) est = 1
    if(random == 1){
    	$('.mon-image').html('<img src="images/image1.jpg">');
    } 
    // si ton chiffre aléatoire est compris entre 2 et 50000
    else if (random > 1 && random < 50000){
    	$('.mon-image').html('<img src="images/image2.jpg">');
    } 
    // si ton chiffre aléatoire est supérieur ou égal à 50000
    else {
    	$('.mon-image').html('<img src="images/image3.jpg">');
    }
    });
    Ensuite pour intégrer ce code dans ta page tu dois faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head>
    	<meta http-equiv="Content-type" content="text/html;charset=ISO-8859-1" />
    	<title>Ton titre</title>
    // lien vers la librairie Jquery qu'il te faudra télécharger auparavant
    	<script language="javascript" type="text/javascript" src="jquery.js"></script>
    </head>
    <script type="text/javascript">
    $(document).ready(function(){
    var random = Math.floor(Math.random() * 100000);
    if(random == 1){
            $('.mon-image').html('<img src="images/image1.jpg">');
    } else if (random > 1 && random < 50000){
            $('.mon-image').html('<img src="images/image2.jpg">');
    } else {
            $('.mon-image').html('<img src="images/image3.jpg">');
    }
    });
    </script>
    <body>
     
    Mon contenu
     
    </body>
    </html>
    Et si tu veux rajouter d'autre image, tu n'a qu'a améliorer tes if comme il te semble

  7. #7
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 373
    Points
    19 373
    Par défaut
    Bonjour,

    Tu devrais aller faire un tour sur ce cours.
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup, je pense pouvoir me débrouiller avec ça !

    Oui j'avais ce cours en parallèle justement ^^

  9. #9
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    Par défaut
    N'hésite pas à revenir, si tu as un souci.
    Passe la discussion en résolue

  10. #10
    Membre habitué Avatar de Federico_muy_bien
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 154
    Points : 189
    Points
    189
    Par défaut
    Bonjour,

    par contre il y aura moins de 1% de chances d’apparaître...
    il faudrait mettre le chiffre aléatoire entre 1 et 100 pour avoir 1%...

    Mais bon c'est du détail !!
    La programmation aujourd’hui est une course entre les développeurs tâchant de concevoir des programmes de plus en plus nombreux et efficaces, convenant même aux imbéciles, et l’univers essayant de produire des idiots de plus en plus nombreux et efficaces. Jusqu’à présent, c’est l’univers qui gagne.

Discussions similaires

  1. Bannière animée avec pourcentage
    Par Maria1505 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/06/2007, 12h04
  2. Comparaison de chaîne (avec pourcentage ou...)
    Par yves232 dans le forum Langage
    Réponses: 4
    Dernier message: 26/04/2006, 17h23
  3. Selection aléatoire avec rand
    Par Ruddy16 dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/12/2005, 10h01
  4. Affichage aléatoire avec coéfficients
    Par groupejtt dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 08/11/2005, 22h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo