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 :

Déplacer et Redimentioner des div avec enregistrements des positions dans une BD


Sujet :

jQuery

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Déplacer et Redimentioner des div avec enregistrements des positions dans une BD
    Bonjour,
    j'ai fais une bidouille pour gérer des mises en pages automatique et enregistrer la position et la taille des div en jquery. Mon code semble un peu lourd si je devais avoir 15 div. Quelqu'un pourrait-il alléger cette proposition ?

    Merci d'avance.
    CHAD

    ---------------------
    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <link class="jsbin" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" /> 
    <script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
    <script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script> 
     
          <style> 
             #div1{width: 80px; height: 200px; float: left;background-color: white; border: 1px solid #999; }
             #div2{width: 180px; height: 200px; top:120px; float: left;background-color: white; border: 1px solid #999;}
             #conteneur{width: 800px; height: 600px; border: solid 1px #999;}
    		 .ui-resizable-helper { border: 2px dotted red; }
     
          </style>
       </head> 
       <body> 
     
       <?php
       print_r($_POST);
       ?>
          <div id="conteneur"> 
             <div id="div1"></div> 
             <div id="div2"></div> 
          </div> 
     
       <script>
    $(function(){
                $('#div1').resizable({
    				helper: "ui-resizable-helper",
    				containment: "#conteneur",
    				resize: function(event,ui){
    				var h1 = $("#div1").height();
    				var w1 = $("#div1").width();
    				$('#h1').attr({value : h1});
    				$('#l1').attr({value : w1});
    				$('#pl1').attr({value : ui.position.left});
    				$('#pt1').attr({value : ui.position.top});			              }
                });
               $('#div1').draggable({
                 containment: "#conteneur",
    			 drag: function(event,ui){
    				var h1 = $("#div1").height();
    				var w1 = $("#div1").width();
    				$('#h1').attr({value : h1});
    				$('#l1').attr({value : w1});
    				$('#pl1').attr({value : ui.position.left});
    				$('#pt1').attr({value : ui.position.top});
    			 }
               });
     
     
                $('#div2').resizable({
    				helper: "ui-resizable-helper",
    				containment: "#conteneur",
    				resize: function(event,ui){
    				var h1 = $("#div2").height();
    				var w1 = $("#div2").width();
    				$('#h2').attr({value : h1});
    				$('#l2').attr({value : w1});
    				$('#pl2').attr({value : ui.position.left});
    				$('#pt2').attr({value : ui.position.top});			              }
                });
               $('#div2').draggable({
    				containment: "#conteneur",
    				drag: function(event,ui){
    				var h1 = $("#div2").height();
    				var w1 = $("#div2").width();
    				$('#h2').attr({value : h1});
    				$('#l2').attr({value : w1});
    				$('#pl2').attr({value : ui.position.left});
    				$('#pt2').attr({value : ui.position.top});
    			 }
               });
     
     
             });
    </script>
     
     
    <form method="post" action="#">
     
    	<input type="hidden" name="h1" id='h1' value=""/>
    	<input type="hidden" name="l1" id='l1' value=""/>
    	<input type="hidden" name="pl1" id='pl1' value=""/>
    	<input type="hidden" name="pt1" id='pt1' value=""/>
    	<input type="hidden" name="h2" id='h2' value=""/>
    	<input type="hidden" name="l2" id='l2' value=""/>
    	<input type="hidden" name="pl2" id='pl2' value=""/>
    	<input type="hidden" name="pt2" id='pt2' value=""/>
     
    	<input type="submit" value="Envoyer" />
    </form>
    </body>
    </html>

  2. #2
    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 : 73
    Localisation : Belgique

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

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

    Exemple :
    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
    var position = function(height, width, left, top, id1, id2, id3, id4){
    	$('#'+id1).val(height);
    	$('#'+id2).val(width);
    	$('#'+id3).val(left);
    	$('#'+id4).val(top);
    };
     
    $("#div1").resizable({
    	helper: "ui-resizable-helper",
    	containment: "#container",
    	stop: function(event,ui){
    		position($(this).height(), $(this).width(), ui.position.left, ui.position.top, "h1", "l1", "pl1", "pt1");
    	}
    }).draggable({
    	containment: "#container",
    	stop: function(event,ui){
    		position($(this).height(), $(this).width(), ui.position.left, ui.position.top, "h1", "l1", "pl1", "pt1");
    	}
    });
     
     
    $('#div2').resizable({
    	helper: "ui-resizable-helper",
    	containment: "#container",
    	stop: function(event,ui){
    		position($(this).height(), $(this).width(), ui.position.left, ui.position.top, "h2", "l2", "pl2", "pt2");
    	}
    }).draggable({
    	containment: "#container",
    	stop: function(event,ui){
    		position($(this).height(), $(this).width(), ui.position.left, ui.position.top, "h2", "l2", "pl2", "pt2");
    	}
    });
    L'événement stop ne se produit qu'une seule fois, à la fin de l'action, il est donc plus économe que drag ou à resize.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Ok c'est beaucoup mieux
    Merci pour ce résumé de code.

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

Discussions similaires

  1. Enregistrer Ma position dans une BD MySql
    Par takwach dans le forum Android
    Réponses: 2
    Dernier message: 16/05/2012, 21h02
  2. [Dojo] Choix des colonnes a afficher avec enregistrement du choix dans une dataGrid
    Par devkaty dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 13/07/2009, 13h34
  3. Réponses: 6
    Dernier message: 25/03/2009, 18h18
  4. [comment faire]Faire apparaitre des divs avec onclick
    Par Fabious dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/07/2008, 16h29
  5. Réaliser une page avec uniquement des DIV
    Par Sayrus dans le forum Mise en page CSS
    Réponses: 14
    Dernier message: 15/11/2007, 19h04

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