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 :

Modifier les définition CSS - Modifier dynamiquent la hauteur d'une page


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut Modifier les définition CSS - Modifier dynamiquent la hauteur d'une page
    Bonjour,
    J'ai une page avec des définitions CSS. Ces définitions sont dans un fichier admin.css
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <link rel="stylesheet" type="text/css" href="admin.css">
    Voici ma page de test.

    Cette page contient un tableau où on peut rajouter des lignes. Il suffit de cliquer sur "add".
    Si vous cliquer 5 fois sur le bouton par exemple, la présentation de la page laisse à désirer.
    Je souhaite donc modifier ma fonction de rajout de ligne de telle sorte qu'elle augmente la taille de ma page, la taille d'un bloc.
    Ce bloc est identifié par l'id = bloc_contenu_formulaire_etage2_provider dont la définition est ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    /*  Formulaire Reservation_etape2 */
    #bloc_contenu_formulaire_etage2_provider {
    border: 1px solid black;
    height: 660px;
    background-color: yellow;
    }
    Avant de chercher à modifier la taille, j'ai inclus dans ma fonction d'ajout de ligne les instructions suivantes, histoire de vérifier que j'arrivais bien à obtenir la définition de mon bloc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    var hauteur_du_formulaire = document.getElementById("bloc_contenu_formulaire_etage2_provider");
    	var toto = hauteur_du_formulaire.style.height;
    	alert ('hauteur_du_formulaire :'+toto);
    ...
    Et malheureusement, cela ne donne rien ...

    Comment faire ?

    PS : j'ai déjà cherché sur le forum et sur le net, tester x codes, mais ...
    donc soyez svp indulgent.

  2. #2
    Membre chevronné Avatar de htr999
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 331
    Par défaut
    essaie ceci
    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
    <body>
    	<div id="test" style="height: 100px; width: 100px; background-color: red;"></div>
    	<div id="divTest" style="position: absolute; top: 10px; left: 10px; height: 20px; width: 100px; background-color: yellow;"></div>
    	<input type="button" value="add" onclick="add();"/>
    	<script>
    		function add(){
    			var hElem = parseInt(document.getElementById("divTest").style.height);
    			var hFond = parseInt(document.getElementById("test").style.height);
     
    			var newHElem = hElem+20;
    			var newHFond = hFond;
    			if (newHElem > 90)
    				newHFond = hFond+20;
     
    			document.getElementById("divTest").style.height = newHElem+"px";
    			document.getElementById("test").style.height = newHFond+"px";
    		}
    	</script>
    </body>
    a+

  3. #3
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut
    hum htr999 : intéressant

    J'en étais à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	var hauteur_du_formulaire = document.getElementById("bloc_contenu_formulaire_etage2_provider").offsetHeight;
    	alert ('hauteur_du_formulaire :'+hauteur_du_formulaire);
    	var ajout_hauteur_du_formulaire = 20 ;
    	alert ('ajout_hauteur_du_formulaire:' +ajout_hauteur_du_formulaire);
    	var nouvelle_hauteur = hauteur_du_formulaire + ajout_hauteur_du_formulaire;
    	alert ('nouvelle_hauteur_du_formulaire:'+nouvelle_hauteur);
    	document.getElementById("bloc_contenu_formulaire_etage2_provider").style.height=nouvelle_hauteur+"px";
    qui fonctionne sous FF mais pas sous IE la preuve.

    J'ai testé ton code : super !
    mais pour quoi cela ne fonctionne pas chez moi ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var hauteur_du_formulaire = parseInt(document.getElementById("bloc_contenu_formulaire_etage2_provider").style.height);
     
    	alert ('hauteur_du_formulaire :'+hauteur_du_formulaire);
    	var ajout_hauteur_du_formulaire = 20 ;
    	alert ('ajout_hauteur_du_formulaire:' +ajout_hauteur_du_formulaire);
    	var nouvelle_hauteur = hauteur_du_formulaire + ajout_hauteur_du_formulaire;
    	alert ('nouvelle_hauteur_du_formulaire:'+nouvelle_hauteur);
    	document.getElementById("bloc_contenu_formulaire_etage2_provider").style.height=nouvelle_hauteur+"px";
    soit la page de test suivante


    ????

  4. #4
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    pour que ce soit crossbrowser les prorpiétés doivent comporter l'unité (px, em, % ... ) sauf si la valeur est 0

    donc lorsque tu définis une hauteur
    à la fin
    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 !

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

Discussions similaires

  1. [FAQ] Les formulaires (partie 1) Comment modifier les options d'un champ select ?
    Par Auteur dans le forum Contributions JavaScript / AJAX
    Réponses: 2
    Dernier message: 16/11/2013, 19h37
  2. [Dojo] Modifier les classes CSS des éléments dijit
    Par Tavarez59 dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 02/11/2009, 21h40
  3. Modifier les propriétés d'un TShape à l'aide d'une variable
    Par agentchico dans le forum C++Builder
    Réponses: 10
    Dernier message: 24/04/2008, 15h38
  4. [AJAX] Modifier les attributs css
    Par acieroid dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/04/2007, 00h41
  5. Réponses: 4
    Dernier message: 25/05/2006, 21h05

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