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 :

Reduire agrandir un div


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut Reduire agrandir un div
    salut

    je cree actuellement une fonction qui redimensionne un div, mais j'ai un probleme sur cette partie de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    tailleActuelle = document.getElementById('redimensionnable').offsetHeight;
    //ici on commence à 250 pixel
    tailleReduite = 30;
     
    if (tailleActuelle > tailleReduite)
    {//si la taille actuelle est superieur a la taille voulu on decremente
    	tailleActuelle--;
    }
    else if (tailleActuelle < tailleReduite)
    {//sinon on incremente
    	tailleActuelle++;
    }
    mon probleme est que la taille actuelle qui vaut 250 est (dans le test) plus petite que 30 (: la taille reduite) : du coup il incremente au lieu de decrementer !

    Comment faire ? merciiii

  2. #2
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par défaut
    Yop!

    As-tu essayé de forcer une conversion en Integer?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tailleActuelle = parseInt(document.getElementById('redimensionnable').offsetHeight);
    //ici on commence à 250 pixel
    tailleReduite = parseInt(30);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Par défaut
    je te remercie mais sans que je sache pourquoi maintenant ca marche :
    voici le code pour ceux que ca interesse :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    /*	Fonction qui Reduit/Agrandit un div sur clic.
    	A placer dans un head : 			<script language=JavaScript src='redimensionnementProgressif.js'></script>
    	A placer dans l'objet declencheur : 	onClick='reduireAgrandir()'
    	A placer dans le Div : 			id=redimensionnable style='overflow:hidden;'
    */
     
     
    /*Parametres*/
    tailleReduite = 30;//taille reduite	*** Ameliorable en recuperant la hauteur de la zone reduite ***
     
    delaiExecution = 1;//délai d'attente avant ré-execution de la fonction
    pasTaille = 1;//Pas d'incrementation transitionnel en pixel
     
    /*variables*/
    etatBoucle = true;//Etat de la boucle : vrai : stopé ; faux : en cours d'utilisation
     
    function reduireAgrandir()
    {//etat boucle et reduireAgrandirProgressif() permettent de prendre en compte le clic de l'utilsateur pendant le redimensionnement
    	if (etatBoucle)
    	{//si la boucle n'est pas utilisé... on l'utilise !
    		tailleInitiale = document.getElementById('redimensionnable').scrollHeight;//on initialise... la taille initiale du div
    		tailleActuelle = document.getElementById('redimensionnable').offsetHeight;//on recupere la taille actuelle du div
    		//on defini la taille à atteindre
    		if (tailleActuelle > tailleReduite)
    		{//s'il n'est pas reduit ... on le reduit ^^
    			tailleConvoite=tailleReduite;
    		}
    		else if (tailleActuelle < tailleInitiale)
    		{//sinon on l'agrandit
    			tailleConvoite=tailleInitiale;
    		}
    		reduireAgrandirProgressif();//dans tous les cas ce sera progressif
    	}
    	else
    	{//sinon on change le but a atteindre
    		if (tailleConvoite==tailleInitiale)
    		{//s'il s'agrandit ... on le reduit ^^
    			tailleConvoite=tailleReduite;
    		}
    		else if (tailleConvoite==tailleReduite)
    		{//sinon on l'agrandit
    			tailleConvoite=tailleInitiale;
    		}
    	}
    }
     
    function reduireAgrandirProgressif()
    {
    	if (tailleActuelle != tailleConvoite)
    	{//tant que la taille convoité n'est pas atteinte (setTimeOut(...))
    		if (tailleActuelle > tailleConvoite)
    		{//si la taille actuelle est superieur a la taille voulu on decremente
    			tailleActuelle-=pasTaille;
    		}
    		else if (tailleActuelle < tailleConvoite)
    		{//sinon on incremente
    			tailleActuelle+=pasTaille;
    		}
    		etatBoucle=false;//on utilise la boucle... donc on la boucle ^^
    		document.getElementById('redimensionnable').style.height=tailleActuelle;//on change la taille de +/- x pixel
    		setTimeout('reduireAgrandirProgressif()', delaiExecution);//re-execution de la fonction apres un delai d'attente
    	}
    	else
    	{//le div est redimmensioné donc on n'a plus besoin d'executer la boucle
    		etatBoucle=true;
    	}
    }/*			*** By Robin des Bulles ***			*/

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

Discussions similaires

  1. agrandir un div, une fois les autres scripts terminés
    Par cowboydeluxe dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/10/2009, 10h25
  2. Afficher icone fermer reduire agrandir dans JInternalFrame
    Par astrocybernaute dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 22/05/2009, 12h57
  3. Agrandir un DIV lorsqu'une page est très large
    Par Poulpynette dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 27/03/2009, 14h45
  4. Comment agrandir le div en fonction du contenu
    Par lonyc dans le forum Mise en page CSS
    Réponses: 15
    Dernier message: 22/12/2008, 18h46
  5. forcer agrandir taille div
    Par calitom dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 07/04/2008, 16h54

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