begin process at 2010 03 21 17:36:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Evènements

 > 

comment afficher d'autres ligne en cliquant sur un lien


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment afficher d'autres ligne en cliquant sur un lien

vendredi 9 mai 2008 à 17:10:28 | comment afficher d'autres ligne en cliquant sur un lien

gregou9

je vous explique le probleme:
j'ai un tableau dans lequel jaffiche un lien selon differents criteres et quand je clique sur ce lien il m'affiche differentes ligne en dessous d'une autre ligne. j'ai fais ma fonction js mais j'ai 2 problemes:
1) il ouvre mon div et le referme mais on peut le faire qu'une fois sinon il bloque
2) il n'affiche pas ce que je veux

Voici mon code:

FONCTION JAVASCRIPT:

function Suite(lien){

var objet = document.getElementById('popup'); // entre les deux ' tu mes le nom du div que tu veux faire apparaître !

if(objet.style.display == "none" || !objet.style.display){

objet.innerHTML = "Ici le text que tu veux faire apparaître !";

objet.style.display = "block";

objet.style.overflow = "hidden";

lien.innerHTML = "-";

var hFinal = 200; //Hauteur finale (la hauteur une fois que ça aura fini de déplier !)

var hActuel = 0; //Hauteur initiale (la hauteur dès le début !)

var timer;

var fct = function ()

{

hActuel += 20; //Augmente la hauteur de 20px (tu peux modifier) tous les 40ms !

objet.style.height = hActuel + 'px';

if( hActuel > hFinal)

{

clearInterval(timer); //Arrête le timer

objet.style.overflow = 'inherit';

}

};

fct();

timer = setInterval(fct,40); //Toute les 40 ms

}else if(objet.style.display == "block"){

var hFinal = 0; //Hauteur finale (la hauteur une fois que ça aura fini de déplier !)

var hActuel = 200; //Hauteur initiale (la hauteur dès le début !)

var timer;

var fct = function ()

{

hActuel -= 20; //Augmente la hauteur de -20px (tu peux modifier) tous les 40ms !

objet.style.height = hActuel + 'px';

if( hActuel < hFinal)

{

clearInterval(timer); //Arrête le timer

objet.style.overflow = 'inherit';

objet.style.display = "none";

}

};

fct();

timer = setInterval(fct,40); //Toute les 40 ms

lien.innerHTML = "+";

}

}

</script>

HTML:

<table cellpadding="0" cellspacing="0" width="900" border="1" style="border:none" align="center">

<tr>

<td></td>

<td>Compteur</td>

<td>D&eacute;signation</td>

<td>Index</td>

<td style="border:none">&nbsp;</td>

<td colspan="4">Conso <i>(en Kwh)</i></td>

<!--<td></td><td></td>-->

</tr>

<tr><td></td><td colspan="4" style="border:none"></td><td>N-1</td><td>R</td></tr>

<tr bgcolor="#66CCFF">

<td><b>[<a href="javascript:;" onclick="Suite(this)">+</a>]</b></td>

<td>771</td>

<td>ELINKA - Salle Informatique</td>

<td><input type="text" name="index1" id="text" size="15" style="font-size:11px;"></td>

<td style="border:none;background-color:white">&nbsp;</td>

<td>9500</td><td>9800</td>

</tr>

<tr><td colspan="9">

<div id="popup" style="display: none; width: 900px;">

<table cellpadding="0" cellspacing="0" width="900" border="1" style="border:none" align="center">

<tr bgcolor="#66CCFF">

<td><b></b></td>

<td>771</td>

<td>ELINKA - Salle Informatique</td>

<td><input type="text" name="index1" id="text" size="15" style="font-size:11px;"></td>

<td style="border:none;background-color:white">&nbsp;</td>

<td>9500</td><td>9800</td>

</tr>

</table>

</div>

<tr bgcolor="#66CCFF">

<td><b>[<a href="javascript:;" onclick="Suite(this)">+</a>]</b></td>

<td>949</td>

<td>ELINKA - Bureaux</td>

<td><input type="text" name="index2" id="text" size="15" style="font-size:11px;"></td>

<td style="border:none;background-color:white">&nbsp;</td>

<td><div id="calque1">9500</div></td><td>9800</td><!--style="visibility:hidden"-->

</tr>

</table>


merci d'avance pour vos reponses.

jeudi 15 mai 2008 à 23:17:23 | Re : comment afficher d'autres ligne en cliquant sur un lien

PetoleTeam

Membre Club
Bonjour,
J'ai déjà eu à traiter ce script, qui sous la forme que tu as récupéré est plein de petit hic.
voila le code complet revu et corrigé qu'il te restes à mettre en forme

pour la partie SCRIPT
<script type="text/javascript">
function Suite( lien, div_ ){
  var objet = document.getElementById( div_);
  if( !objet) return;
  if( objet.style.display == "none" || !objet.style.display){
    objet.style.display = "block";
    objet.style.overflow = "hidden";
    lien.innerHTML = "-";
    var hFinal = 200; // Hauteur finale (la hauteur une fois que ça aura fini de déplier !)
    var hActuel = 0; // Hauteur initiale (la hauteur dès le début !)
    var timer;
    var fct = function(){
      hActuel += 20; //Augmente la hauteur de 20px (tu peux modifier) tous les 40ms !
      objet.style.height = hActuel + 'px';
      if (hActuel > hFinal){
        clearInterval(timer); //Arrête le timer
      }
    }
    fct()
    timer = setInterval(fct, 40); //Toute les 40 ms
  }
  else if (objet.style.display == "block") {
    var hFinal = 0; //Hauteur finale (la hauteur une fois que ça aura fini de déplier !)
    var hActuel = 200; //Hauteur initiale (la hauteur dès le début !)
    var timer;
    var fct = function(){
      hActuel -= 20; //Augmente la hauteur de -20px (tu peux modifier) tous les 40ms !
      if( hActuel > 0)
        objet.style.height = parseInt(hActuel) + 'px';
      if (hActuel < hFinal){
        clearInterval(timer); //Arrête le timer
        objet.style.display = "none";
      }
    }
    fct();
    timer = setInterval(fct, 40); //Toute les 40 ms
    lien.innerHTML = "+";
  }
}
</script>
tu noteras au passage l'ajout d'un paramètre à la fonction qui permet ainsi de gérer plusieurs éléments différents, je pense que tu trouveras les autres modifications rapidement...
 
et pour la partie dans le BODY
<table cellpadding="0" cellspacing="0" width="900" border="1" style="border:none" align="center">
<!-- ENTETE -->
<tr>
  <td> </td>
  <td>Compteur</td>
  <td>Désignation</td>
  <td>Index</td>
  <td style="border:none"> </td>
  <td colspan="4">Conso <i>(en Kwh)</i></td>
</tr>
<tr>
  <td colspan="5" style="border:none"></td>
  <td>N-1</td>
  <td>R</td>
</tr>

<!-- PREMIERE LIGNE -->
<tr bgcolor="#66CCFF">
  <td><b>[<a href="javascript:;" onclick="Suite(this, 'DIV_01');">+</a>]</b></td>
  <td>771</td>
  <td>ELINKA - Salle Informatique</td>
  <td><input type="text" name="index1" id="index1" size="15" style="font-size:11px;"></td>
  <td style="border:none;background-color:white"> </td>
  <td>9500</td>
  <td>9800</td>
</tr>
<tr>
  <td colspan="9">
  <div id="DIV_01" style="display: none;"></div>
  </td>
</tr>
<!-- DEUXIEME LIGNE -->
<tr bgcolor="#66CCFF">
  <td><b>[<a href="javascript:;" onclick="Suite(this, 'DIV_02');">+</a>]</b></td>
  <td>949</td>
  <td>ELINKA - Bureaux</td>
  <td><input type="text" name="index2" id="text" size="15" style="font-size:11px;"></td>
  <td style="border:none;background-color:white"> </td>
  <td>9500</td>
  <td>9800</td>
</tr>
<tr>
  <td colspan="9">
  <div id="DIV_02" style="display: none;"></div>
  </td>
</tr>
</table>
l'appel de la fonction permet d'ouvrir ou fermer un DIV contenu dans la TD de la ligne suivante...

Il ne te restes plus qu'a régler les petits problèmes qui ne manqueront pas d'apparaîtrent...

Allez ENJOY

;O)


Cette discussion est classée dans : style, objet, var, hauteur, hactuel


Répondre à ce message

Sujets en rapport avec ce message

Page de chargement après un formulaire [ par cubitus79 ] Bonjour, J'ai actuellement des problème pour mettre en place une animation de chargement a la suite de mon formulaire. J'explique mieux: j'ai un for Menu de voiture avec le DOM [ par sonialand ] salut tout le monde,je suis entrain de developpe un menu de voiture (audi) avec le DOM.J'ai plein d'erreurs que j'arrive pas a corriger, je souhaite a IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden [ par neiimad ] Bonjour. Ma zone affichable s'agrandit sous IE8 lorsque je tente de déplacer mon élément hors de celle ci, malgré l'overflow hidden. Je n'ai pourtan Javascript & XHTML Strict [ par plasticism ] Bonjour, je sèche depuis presque 2 jours sur ce script tout bête, adapté d'une source que j'ai pompé je-ne-sais-plus-où... Il est sensé afficher une " aligner les images horizontalement [ par oceane751 ] bonjour à tous avec le code qui suit, mes images defilent de façon verticale mais je voudrais que ces images défilent horizontalement voici le c Nouvelle fenetre [ par ayoubpro ] Bonjour tout le monde J'ai un petit formulaire( avec des cases à cocher),on peut choisir les bonnes réponses et le script javascript c Message à l'envoi d'un formulaire, oui mais avec un GIF ? [ par porciner ] Bonjour à tous,J'ai fais une petite fonction qui permet d'afficher un message d'attente lorsque l'utilisateur envoie un formulaire.function uploadProg Enregistrer drag n drop [ par tales ] Bonjour,Je voudrais savoir comment enregistrer la position de mes images aprés un drag n drop.Que lorsque je réaffiche ma page mes images soient là oû Objet.style.top me retourne 0 [ par tibob51 ] Bonjour,Je suis débutant en java (je galère pas mal même), et sur ce morceaux de code je n'arrive pas a comprendre pourquoi ma ariable posi est égale Positionnement d'un élément dans la page [ par ov3rdoze ] Bonjour à tousJe suis en train de mettre en place une galerie photo. Les images sont listées dans un tableau en petit, et sont affichées en grand dans


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,732 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales