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 :

Un moyen propre d'appliquer un style


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 115
    Par défaut Un moyen propre d'appliquer un style
    Bonjour,

    Mon but est d'appliquer un effet slideDown() du framework JQuery sur des news gérer dynamiquement (PHP+MySQL), j'y connais pas grand chose en JavaScript donc voilà comment j'ai fais :
    Code :

    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
    30
     
    <link rel="stylesheet" type="text/css" href="css/design.css" />
    <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
     
    <script type="text/javascript">
     $(document).ready(function(){
     
    $("<?php echo '.newsM'.$numNews;?>";).click(function () {
        if ($("<?php echo '.descriNews'.$numNews;?>";).is(":hidden";))
        {
         $("<?php echo '.descriNews'.$numNews;?>";).slideDown("slow";);
         }
        else
        {
        $("<?php echo '.descriNews'.$numNews;?>";).hide();
        }
        });
        });
     
     </script>
     
    </head>
     
    <body>
     
      <div id="news">
      <h2>News</h2>
      <ul>
      </ul>
    </div>

    en gros j'ai été obligé d'ajouter une instruction php ajoutant lenuméro de la news à mes class .descriNews et .newM, histoire d'identifier chaque news et d'associer l'effet slideDown()au bon descriptif.

    le système de news ajoutera dans le div news (entre les balise ul) ce truc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <li class="<!--<?php echo 'newsM'.$numNews;?>-->">Alain bernard sort sont requins </li>
    <div class="<!--<?php echo 'descriNews'.$numNews;?>-->">description de la news</div>
    et le style que je cherche à appliquer sur mon div .descriNews[numero_de_la_news] est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    .descriNews[numero_de_la_news]{
    display:none;
    margin-left:10%;
    border-left:1px solid #d6e1ec;
    border-right:1px solid #d6e1ec;
    background-color:#fff5ff;
    padding:3px;
    }
    vous l'aurez compris le problème c'est que mon .descriNews est suivis du numéro de la news pour qu'il soit associé à la bonne news donc impossible de placer les style dans une feuille css, je cherche donc un moyen pas trop lourd d'appliquer ce style car il y a pas mal d'attribut et mettre tout ça dans ma balise div j'ai peur que ça face un peu "too much".

  2. #2
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 115
    Par défaut
    J'ai finalement abandonné le système que je voulais faire pour le moment, trop de problème et je maitrise pas assez le JavaScript donc je pense que ça nuit à ce que je souhaite faire

    Mon but été de géré un affichage dynamique d'un système de news dynamique lui aussi.

    Le système de news j'ai aps eu de soucis à le développer, le problème viens de ce que je souhaite faire lors de l'affichage, à savoir :
    - afficher les 5 première news de la BDD
    - lors du clic sur le titre de la news, un descriptif de celle ci apparait juste en desous de la news en question

    Voilà comment j'affiche les news en question :

    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
     
        <div id="news">
                <h2>News</h2>
                    <?php
                    include("conexion.php";);
                 
                    $reponse= mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
                     
                    while($donnee = mysql_fetch_array($reponse))
                    {
                   ?>
                   <h5 class="titre"><?php echo $donnee['nom']; ?><span class="date"><?php echo date('d/m/Y', $donnee['timestamp']); ?></span></h5>
                   <div class="contenu">
                       <?php echo $donnee['description']; ?>
                   </div>
                   <?php
                   }
                  mysql_close();
                  ?>
              </div>
    Le soucis réside dans le fait que lors du clic sur le titre d'une news un descriptif (mon div .contenu) de la news s'affiche juste en dessous de celle ci.

    Je m'étais orienté vers le framework JQuery, j'avais réussi à faire un semblant d'effet de ce que je voulais mais le problème c'est que celui ci doit être géré de facon dynamique.
    En gros, je devais signaler à JavaScript que tel contenu est lié à tel titre de news de manière à ce que le bon descriptif s'affiche en fonction de la news cliqué.

    Et ce problème couplé au soucis de mise en forme de mon contenu qui impliqué du css dynamique également mon fait abandonné pour le moment, car le seul moyen que j'avais trouvé pour associé le bon descriptif au bon titre de la news était de récupéré l'id de la news dans la BDD.

    Pour l'appliquer à mes balises <h5> (le titre de la news) et <div> le contenu de la news) de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       <h5 id="<?php echo 'titre'.$donnee['id']; ?>">...</h5>
       <div id="<?php echo 'contenu'.$donnee['id']; ?>">...</div>

    Ce qui m'aurais permis après dans un script JavaScript d'associer un titre de la news avec son contenu et d'afficher celui ci en fonction du clic effectuer.

    C'est résolu, merci

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

Discussions similaires

  1. appliquer les styles d'un document à un autre
    Par Mr N. dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 28/09/2005, 14h32
  2. Appliquer les styles
    Par Jorus dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/09/2005, 14h15
  3. Appliquer le style visuel de Windows XP
    Par daladim dans le forum MFC
    Réponses: 1
    Dernier message: 02/06/2005, 21h46
  4. Comment appliquer un style CSS ?
    Par adameteve dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 10/03/2005, 21h52
  5. Appliquer plusieurs styles à une zone
    Par hdd dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 03/12/2004, 15h46

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