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 :

fonction pour creation de zone div


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Par défaut fonction pour creation de zone div
    bonsoir à tous,
    voila j'ai créé une page qui contient plusieurs div, et je me demande s'il existe une fonction ou bien une methode qui me permet de creer ces div du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function genere_div(nom,nombre,nm_image)
    {for(var i=0;i<nombre;i++)
          {var nom_complet=nom.concat(nombre);
           "<div class=nom_complet id=nom_complet><img src='image.jpg'></div>"
           }
    }
    le nom de la div sera entré en parametre et concatiné avec la valeur du compteur(sachant que mes div ont comme class et id les noms div1,div2,div3...,divn)
    le nombre des div sera aussi entré en paramétre, ainsi que le nom de l'image contenu dans la div.
    qu'est ce qui ne va pas dans ce code?sinon ya t-il une autre methode?
    merci pour votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 61
    Par défaut
    Tu peux t'inspirer de ce bout de code

    http://javascript.developpez.com/faq...lick.dynamique

  3. #3
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Par défaut
    bonne piste merci pour le lien tu me sauve la vue

  4. #4
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Par défaut
    bon voila ce que j'ai pu en tirer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function ajouteElement() 
    {
      nouveauDiv = document.createElement("div");
      nouveauDiv.innerHTML = "<h1 >Salutations !</h1>";
      nouveauDiv.setAttribute("className","div1");
      mon_div = document.getElementById("org_div1");
      document.body.insertBefore(nouveauDiv,mon_div);
    }
    est-ce que c'est possible dans ce cas d'entrer en parametre le nom de la classe recupérée par setAttribute??comme ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function ajouteElement(nom_classe) 
    {
      nouveauDiv = document.createElement("div");
      nouveauDiv.innerHTML = "<h1 >Salutations !</h1>";
      nouveauDiv.setAttribute("className",nom_classe);
      mon_div = document.getElementById("org_div1");
      document.body.insertBefore(nouveauDiv,mon_div);
    }
    biensur, ca marche pas, mais c'est juste pour clarifier mon objectif.
    merci pour votre aide

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 61
    Par défaut
    Pourtant il n'y pas pas de raison que ca marche pas ...

    Debug ton code avec un alert(nom_classe) au debut et a la fin du code ...

    Tu peux essayer aussi ("ClasseName",""+nom_classe+""); C'est de la bidouille mais ca peut peut-être marcher !

  6. #6
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Par défaut
    finalement je dé-ses-père...
    merci bcp pour ton aide BackInBiz

  7. #7
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Par défaut
    bon merci bcp pour ce code, mais je vais essayer de trouver plus simple

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    LE code suivant doit fonctionner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function ajouteElement(nom_classe) 
    {
      nouveauDiv = document.createElement("div");
      nouveauDiv.innerHTML = "<h1 >Salutations !</h1>";
      nouveauDiv.className=nom_classe;
      mon_div = document.getElementById("org_div1");
      document.body.insertBefore(nouveauDiv,mon_div);
    }
    si tu n'as pas le résultat voulu c'est sans doute que le style s'applique au div pas au div.h1 ....
    le style du h1 overrides celui du nom_class essaye en virant la balise h1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Par défaut
    je pense pas que le probleme est dans la balise h1, en fait j'ai essayé un truc : j'ai remplacé la balise h1 par une balise div( bon c'est pa l'objectif mais c juste pour savoir ce ki cloche) et ca marche tjrs pas, donc il doit surement y avoir un autre prob...

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 61
    Par défaut
    Et si tu met pas de balises !

    C'est surtout ca la question !

    Une balise empeche t il la classe de fonctionner !

  11. #11
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Par défaut
    je ne suis pas tout à fait convaincu du fait que l'origine du prob est les balises.
    le code ci-dessous marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function genere_div()
    {
      nouveauDiv = document.createElement("div");
      nouveauDiv.innerHTML = "<div>Salutations !</div>";
      nouveauDiv.setAttribute("className","div1");
      mon_div = document.getElementById("org_div1");
      document.body.insertBefore(nouveauDiv,mon_div);
    }
    mais dés qu'il s'agit de passer le nom de classe par paramétre avec .setAttribute ou .className c'est la ou ca bloque...
    mais pour envisager toute les possiblité,si j'enléve le balisage innerHtml n'effectue plus sa tache,d'ailleur j'ai fait des recherches sur innerHtml,sa syntaxe est tjrs la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var balisage = element.innerHTML;
    element.innerHTML = balisage;
    y'a pa échappatoire du balisage!!!
    la question qui se pose: existe-il un truc equivalent à innerHtml? car mes divs on du contenu(des images) je suis donc obligé de donner du contenu à mes zones div soit avec innerHtml ou un équivalent de innerHtml...

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

Discussions similaires

  1. Fonction pour fermer la div
    Par thomix68 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 02/12/2011, 17h57
  2. fonction pour restreindre la zone visible Choicegroup
    Par cassidy dans le forum Java ME
    Réponses: 0
    Dernier message: 16/11/2011, 21h44
  3. Réponses: 3
    Dernier message: 26/09/2006, 11h17
  4. Fonction pour récuperer mon adresse IP
    Par néo333 dans le forum Web & réseau
    Réponses: 11
    Dernier message: 01/11/2003, 17h35

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