begin process at 2010 03 21 22:51:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

Agrandissement et reduction d'une div onclick


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

Agrandissement et reduction d'une div onclick

vendredi 26 juin 2009 à 11:22:06 | Agrandissement et reduction d'une div onclick

davidcian

Bonjour,

Voila j'aimerais réduire et agrandir le contenu d'une div lorsque qu'on clique sur un petit icon +/- d'une barre de navigation, ça marche pas terrible ce que j'ai fait pourtant ça ma semble pas mal....

Petite préxcision ma div contient un tableau.

Voila le code:

    <div id=\"titre_type_vin_table\" style=\"height:20px;background-color:#FFFFFF;\" onclick=\"agrandir_admin('type_vin_table', 300, 0);\">
</div> // Barre de nav
    <div id=\"type_vin_table\" style=\"height:0px;\">...ici il y a un tableau...</div>


Les fonction:

function agrandir_admin(id, hmax, i){
    if (hmax <= i){
        i++;
        var delais = 100;
        document.getElementById(id).style.height = i+'px';
        setTimeout("agrandir_admin(id, hmax, i)",delais);
    }
}

function reduir_admin(id, hmax, i){
    if (hmax > 0){
        i++;
        hmax = hmax-i;
        var delais = 100;
        document.getElementById(id).style.height = hmax+'px';
        setTimeout("reduir_admin(id, hmax, i)",delais);
    }
}


Voila merci de votre aide

Az


vendredi 26 juin 2009 à 11:54:30 | Re : Agrandissement et reduction d'une div onclick

Bul3

Membre Club


Bonjour,

quelques imprécisions....
pour agrandir :

...<div     id="titre_type_vin_table"
        style="background-color:#FFFFFF;"
        onclick="agrandir_admin('type_vin_table', 300, 0);">
cliquer pour agrandir</div>       sinon on ne peut pas cliquer
<div id="type_vin_table" style="height:0px;background-color:#FFFF00;">  pour voir ce qui se passe
...ici il y a un tableau...
</div>
...

function agrandir_admin(id, hmax, i)
{
    if ( i<=hmax ){      j'ai inversé le teste
        i++;
        document.getElementById(id).style.height = i+'px';
        setTimeout( function() { agrandir_admin(id, hmax, i); }, 100 );  sinon, c'est une chaîne de caractères et pas les valeurs qui sont transmises
    }
}

pour diminuer tu devrais être ok....

Cordialement [mon Site] [M'écrire] Bul
vendredi 26 juin 2009 à 12:28:56 | Re : Agrandissement et reduction d'une div onclick

davidcian

Coool ça marche ;)

Merci!

Par contre j'ai encore un autre problème... hmax dans mon exemple est = 300px...

Mais en réalité c'est une variable qui doit s'adapter au contenus de ma div lors de l'appel de la fonction ici:

<div id=\"titre_type_vin_table\" style=\"height:20px;background-color:#FFFFFF;\" onclick=\"agrandir_admin('type_vin_table', hmax, 0);\">

C'est peu etre plus en php qu'il faut voir ca mais aurais tu une idée?

Merci

Az


vendredi 26 juin 2009 à 13:19:46 | Re : Agrandissement et reduction d'une div onclick

Bul3

Membre Club
Réponse acceptée !
soit tu connais la hauteur nécessaire, php ou pas
      et là adapte ton hmax
soit tu augmentes tant que la "taille ne convient pas"
     regarde  du coté de scrollTop,scrollHeigt,offsetHeight...


samedi 27 juin 2009 à 13:16:46 | Re : Agrandissement et reduction d'une div onclick

davidcian

function agrandir_admin(id, i, hmax, frein, plus, moins, global){
    if (i==0){
        var hmax = document.getElementById(id).offsetHeight;
        var frein = document.getElementById(id).offsetHeight;
        document.getElementById(id).style.height = 0+'px';
        document.getElementById(id).style.position = 'relative';
        document.getElementById(plus).style.display = 'none';
        document.getElementById(moins).style.display = 'block';
        document.getElementById(global).style.backgroundPosition = 'top';
        frein = frein - 26;
    }
    if (frein>=900){
        document.getElementById(id).style.height = hmax+'px';
        document.getElementById(id).style.visibility = 'visible';
    }else if (i<=frein){
        i=i+25;
        document.getElementById(id).style.height = i+'px';
        setTimeout( function() { agrandir_admin(id, i, hmax, frein, plus, moins, global); }, 50 );
    }else if (i<=frein+20){
        i=i+2;
        document.getElementById(id).style.height = i+'px';
        setTimeout( function() { agrandir_admin(id, i, hmax, frein, plus, moins, global); }, 80 );
    }else if(( i<=hmax )&&(i>=frein)){
        i++;
        document.getElementById(id).style.height = i+'px';
        setTimeout( function() { agrandir_admin(id, i, hmax, frein, plus, moins, global); }, 1 );
    }else{
        document.getElementById(id).style.visibility = 'visible';
    }
}

function reduir_admin(id, i, hmax, hmaxValue, plus, moins, global){
    if (i==0){
        document.getElementById(id).style.visibility = 'hidden';
        var hmax = document.getElementById(id).offsetHeight;
        var hmaxValue = document.getElementById(id).offsetHeight;
        document.getElementById(plus).style.display = 'block';
        document.getElementById(moins).style.display = 'none';
        document.getElementById(global) .style .backgroundPosition = 'bottom';
    }
    
    if (hmax>=900){
        document.getElementById(id).style.height = 0+'px';
        document.getElementById(id).style.position = 'absolute';
        document.getElementById(id).style.height = hmaxValue+'px';        
    }else if (hmax > 0){
        i=i+25;
        hmax = hmax-i;
        document.getElementById(id).style.height = hmax+'px';
        setTimeout( function() { reduir_admin(id, i, hmax, hmaxValue, plus, moins, global); }, 50 );
    }else{
        document.getElementById(id).style.height = 0+'px';
        document.getElementById(id).style.position = 'absolute';
        document.getElementById(id).style.height = hmaxValue+'px';
    }
}

J'ai un peu la fleme de détailler mais ca marche comme je veux ;)

Merci de ton aide!

Az


Cette discussion est classée dans : id, admin, div, delais, hmax


Répondre à ce message

Sujets en rapport avec ce message

connaitre la position (coordonnées) du curseur de la souris? [ par johanb ] Bonjour à tous, tous est dis dans le titre.Je sais c'est censé être qqc de basique, mais j'ai du mal. Voici l'origine de mon probleme: j'ai une liste Bouton radio (affichage de div suivant le choix) [ par Scooper ] Bonjour,Je suis en train de créer un système de questionnaire en PHP/MySQL où suivant le choix de l'utilisateur, telle ou telle question s'affiche à l Trouvez l'erreur ! (redimmensionner un DIV) [ par supergrey ] Donc voila j'ai mis un DIV qui contient une image et je voudrais que ce calque diminue jusqu'a disparaitre, voila mon code:function Diminuer(){   widt coucou , je suis dans la M...... [ par frvfrvfrvfrv ] salut à tous,j'essaye de faire bouger des div , de facon auto , j'ai deja avancer grace à vous tous. Mais pour la suite j'arrive pas a faire la logiqu Programmation objet et attachement d'evenement [ par MaX3315 ] Bonjour à tous,Voici de façon simplifiez mon problème.function monObjet(id){    this.id=id;    this.div=document.getElementById(id);   this.overDiv=ov [DOM]Conserver une valeur après ajout d'un child [ par malalam ] Hello,le titre n'est pas super clair parce que je ne savais pas comment résumer.J'appelle une fonction sur un évènement (onchange d'un select : bref, Ajouter un Div dans un li [ par yanis7518 ] Salut a tous je souhaiterais pouvoir créer et ajouter des div dans des balises li créées dynamiquementvoici mon code    var newLi= document.createElem Recuperation d'ID DE DIV [ par grandpa006 ] Bonjour,Voila je voudrais recuperer l'ID de mes DIV en meme temps que le click de la souris mais j'y arraive pas.Si une ame charitable a une idée se s IE + Ajax + Css : pas de css ! [ par lyrix37 ] Bonjour la compagnie ! et bien mon problème est tout simple : j'ai fait une page web, avec changement de div en ajax : mais quand je change ce div, q document.getElementById() .div [ par abdoulax ] Bonjour, Je voulais faire un truc du genre : document.getElementById(id).div.style.paddingTop="0px"; En faite je veux modifier le style des div enfa


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 : 0,499 sec (3)

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