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

JavaScript Discussion :

image aléatoire avec légende dans fichier externe


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 14
    Par défaut image aléatoire avec légende dans fichier externe
    Bonjour,
    utilisateur très occasionnel de javascript (non spécialiste, webmaster amateur, temps limité) je cherche à faire apparaitre à chaque chargement de la page d'accueil une image différente prise parmi une quinzaine de photos.
    Jusque là pas de problème, les scripts abondent.
    Mais je cherche à afficher en plus la légende et le nom de l'auteur de l'image.
    Et là je sèche, je coince...
    D'autant que l'idéal serait de piocher dans un fichier texte facile à modifier qui contiendrait :
    nomdelimage1.jpg, legende1, auteur1,
    nomdelimage2.jpg, legende2, auteur2,
    nomdelimage3.jpg, legende3, auteur3,
    etc.

    question 1 : est-ce que javascript peut le faire ? (oui je sais php le fait mais j'ai pas accès à du php)
    question 2 : si oui, comment faire ? :-)
    merci de vos pistes, tuyaux etc.
    David

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Tu peux t'aider de ça :

    http://developpez.net/forums/showthread.php?t=248686

    Grâce à la méthode 2 modifiée comme tel :
    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
    28
    29
     
    function randomImg(){
       var tabImg = new Array();
       tabImg[0]  = "image1.gif";
       tabImg[1]  = "image2.jpg";
       tabImg[2]  = "soleil.gif";
       tabImg[3]  = "poisson.jpg";
       tabImg[4]  = "neuneu.png";
     
       var tabLegend = new Array();
       tabLegend[0]  = "Description 1";
       tabLegend[1]  = "Description 2";
       tabLegend[2]  = "Description 3";
       tabLegend[3]  = "Description 4";
       tabLegend[4]  = "Description 5";
     
       var tabAuteur = new Array();
       tabAuteur[0]  = "Auteur 1";
       tabAuteur[1]  = "Auteur 2";
       tabAuteur[2]  = "Auteur 3";
       tabAuteur[3]  = "Auteur 4";
       tabAuteur[4]  = "Auteur 5";
     
       var n = Math.round(Math.random()*4);
     
       document.getElementById('image').src += tabImg[n];
       document.getElementById('legend').innerHTML = tabLegend[n];
       document.getElementById('auteur').innerHTML = tabAuteur[n];
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 14
    Par défaut
    Ok, cela résoud mon problème d'association de l'image à l'auteur et à sa légende, un grand merci.
    Pas moyen de mettre le tableau en fichier externe ?
    David

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Si bien sûr. Qu'est-ce qui t'en empêche ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 14
    Par défaut
    Si bien sûr. Qu'est-ce qui t'en empêche ?
    Je me suis mal exprimé.
    Ce n'est pas moi qui saisit les références (nom du fichier, auteur, légende) et pour simplifier la mise à jour de l'ensemble, éviter les erreurs qui pourraient bousculer le code javascript, j'aimerais séparer le fichier javascript du fichier de données à appeler (donnees.txt par exemple) qui contiendrait le nom des images, des auteurs et des légendes.
    Je ne sais pas si je suis vraiment plus clair
    Merci en tout cas pour la rapidité de la réponse.
    David

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    On ne peut malheureusement pas lire de fichier en Javascript qui permettrait de récupérer ces données. Dans ce cas-là il va falloir que tu passes par un langage serveur.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 14
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Tu peux t'aider de ça :

    http://developpez.net/forums/showthread.php?t=248686

    Grâce à la méthode 2 modifiée comme tel :
    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
    28
    29
     
    function randomImg(){
       var tabImg = new Array();
       tabImg[0]  = "image1.gif";
       tabImg[1]  = "image2.jpg";
       tabImg[2]  = "soleil.gif";
       tabImg[3]  = "poisson.jpg";
       tabImg[4]  = "neuneu.png";
     
       var tabLegend = new Array();
       tabLegend[0]  = "Description 1";
       tabLegend[1]  = "Description 2";
       tabLegend[2]  = "Description 3";
       tabLegend[3]  = "Description 4";
       tabLegend[4]  = "Description 5";
     
       var tabAuteur = new Array();
       tabAuteur[0]  = "Auteur 1";
       tabAuteur[1]  = "Auteur 2";
       tabAuteur[2]  = "Auteur 3";
       tabAuteur[3]  = "Auteur 4";
       tabAuteur[4]  = "Auteur 5";
     
       var n = Math.round(Math.random()*4);
     
       document.getElementById('image').src += tabImg[n];
       document.getElementById('legend').innerHTML = tabLegend[n];
       document.getElementById('auteur').innerHTML = tabAuteur[n];
    }
    J'ai fait une page avec ton code (encore merci), ça marche pas si je laisse le + dans l'avant-avant-dernière ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       document.getElementById('image').src += tabImg[n];
    pas glop
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       document.getElementById('image').src = tabImg[n];
    glop glop !
    Maintenant je suis bien incapable de comprendre/expliquer pourquoi ni de dire si c'est mieux comme ça
    Mille mercis
    David

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 14
    Par défaut
    J'ai encore un souci :
    en local, tout est ok. Mais mon javascript s'insère en fait dans une page dans un système de publication en ligne (CMS) sur lequel je n'ai pas la main, et je ne peux pas notamment insérer de onload après la balise body.
    Du coup je coince : comment charger randomImg ?
    merci encore de votre patience.
    David

  9. #9
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.onload = randomImg;
    dans ton script.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 14
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.onload = randomImg;
    dans ton script.
    Bon sang mais c'est bien sûr !
    Merci Bisûnûrs !
    David

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Images avec légende dans un tableau
    Par zbahoui dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 5
    Dernier message: 03/10/2013, 12h05
  2. Comment tracer une courbe chart avec valeurs dans fichier ?
    Par petitclem dans le forum C++Builder
    Réponses: 16
    Dernier message: 07/05/2008, 15h07
  3. Réponses: 2
    Dernier message: 03/07/2007, 23h48
  4. Petit script d'images aléatoires avec lien
    Par Syntax-ERROR dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 09/01/2007, 21h43
  5. Problème avec accent dans fichier
    Par shaun_the_sheep dans le forum Administration système
    Réponses: 3
    Dernier message: 19/11/2006, 20h46

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