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

jQuery Discussion :

Faire une zone redimensionnable


Sujet :

jQuery

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut Faire une zone redimensionnable
    Bonjour à tous,

    J'aimerais avoir une zone scotchée en bas de la page, qui prenne la totalité de la largeur et qui puisse être redimensionnée avec la souris. Mais je ne sais pas bien comment "cumuler" l'aspect redimensionnable et celui de garder la zone en bas de la page.

    Voici ce que j'ai fait :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!doctype html>
    <html lang="en">
    <head>
    	<meta charset="utf-8">
    	<title>jQuery UI Resizable - Default functionality</title>
    	<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
    	<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
    	<script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
    	<link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
    	<style>
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #content_data {
    	position:absolute;
    	width:100%;
    	height:265px;
    	bottom:0;
    	left:0;
    	background-color:#0000FF;
    }	
    .content_data_wrap {
    	position:relative;
    	width:100%;
    	height:265px;
    	background-color:#FF0000;
    }
    [code=html] </style>
    <script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $(function() {
    	$( "div.content_data_wrap" ).resizable({
    		handles: 'n, s',
    	});
    });
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	</script>
    </head>
    <body>
    	<div id="content_data">
    		<div class="content_data_wrap">
     
    		</div>
    	</div>
    </body>
    </html>

    La page est hébergée ici : http://kinju59.free.fr/test_resize.html.

    Le problème est que la zone rouge est bien redimensionnée, mais pas la bleue. Du coup les événements de la souris, lorsque l'on abaissera le panneau rouge, seront captés par la zone bleue et non pas par les éléments qu'il pourraient y avoir derrière, enfin je ne sais pas si je me fais bien comprendre.

    Est-ce que quelqu'un pourrait m'indiquer comment faire ça proprement ?

    Merci à vous,

    A bientôt

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par mister3957 Voir le message
    Le problème est que la zone rouge est bien redimensionnée, mais pas la bleue.
    Il y a ce lien pour synchroniser différents éléments.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    Il y a ce lien pour synchroniser différents éléments.
    Avec alsoResize, la zone bleue se redimensionne aussi mais avec un décalage.

    J'ai mis à jour la page pour constater ce que ça fait : http://kinju59.free.fr/test_resize.html

    Ne serait-ce pas un problème de CSS ?

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Le pb est que je ne comprends pas trop ce que tu veux faire... tu n'as pas un exemple fonctionnel à nous montrer sur un autre site pour qu'on puisse comprendre ?

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    Le pb est que je ne comprends pas trop ce que tu veux faire... tu n'as pas un exemple fonctionnel à nous montrer sur un autre site pour qu'on puisse comprendre ?
    En fait l'application web possédera une cartographie en fond, et dans la zone inférieure il y aura une zone avec un tableau, zone qui doit pouvoir être redimensionnée pour pouvoir avoir un max de visibilité sur la cartographie ou sur les données du tableau.

    Je ne connais pas d'exemple fonctionnel qui reproduit ça, sinon j'aurai "copié". Mais si vous en connaissez je veux bien une adresse et je me calerai dessus.

  6. #6
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 937
    Points
    22 937
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    En fait l'application web possédera une cartographie en fond, et dans la zone inférieure il y aura une zone avec un tableau, zone qui doit pouvoir être redimensionnée pour pouvoir avoir un max de visibilité sur la cartographie ou sur les données du tableau.
    Si je comprends bien, vous n'avez besoin que d'une zone redimensionnable accrochée en bas de page. La cartographie étant placée normalement dans la structure de la page.

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #resizable { position:fixed; bottom:0; left:0; width: 100%; height: 250px; padding: 0.5em; }
    #resizable h3 { text-align: center; margin: 0; }
    .ui-resizable-helper { border: 1px dotted #00F; }

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="resizable" class="ui-widget-content">
        <h3 class="ui-widget-header">Resizable</h3>
    </div>

    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $( function(){
     
        $( "#resizable" ).resizable({
            "handles" : "n",
            "helper" : "ui-resizable-helper",
            "animate" : true
        });
     
    });

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message
    Bonsoir



    Si je comprends bien, vous n'avez besoin que d'une zone redimensionnable accrochée en bas de page. La cartographie étant placée normalement dans la structure de la page.

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #resizable { position:fixed; bottom:0; left:0; width: 100%; height: 250px; padding: 0.5em; }
    #resizable h3 { text-align: center; margin: 0; }
    .ui-resizable-helper { border: 1px dotted #00F; }

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="resizable" class="ui-widget-content">
        <h3 class="ui-widget-header">Resizable</h3>
    </div>

    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $( function(){
     
        $( "#resizable" ).resizable({
            "handles" : "n",
            "helper" : "ui-resizable-helper",
            "animate" : true
        });
     
    });
    Merci, ça fonctionne.

    C'est l'utilisation du helper qui fait que je n'ai plus besoin de 2 <div>.

    J'ai également rajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    body {
        overflow:hidden;
    }

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

Discussions similaires

  1. [Google Maps] Récupérer coordonnées pour faire une zone
    Par Khleo dans le forum APIs Google
    Réponses: 2
    Dernier message: 09/08/2011, 15h57
  2. [AC-2003] faire une zone d'appréciation sous forme d'étoile
    Par idiot dans le forum IHM
    Réponses: 3
    Dernier message: 31/08/2009, 12h28
  3. [FPDF] Comment faire une zone de text délimité
    Par HwRZxLc4 dans le forum Bibliothèques et frameworks
    Réponses: 16
    Dernier message: 20/05/2007, 11h30
  4. Réponses: 6
    Dernier message: 26/03/2007, 10h42
  5. [AJAX] comment faire une zone reactive
    Par didou038 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/12/2006, 13h51

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