Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/10/2011, 11h15   #1
Invité de passage
 
Homme CHAD
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme CHAD
Localisation : France

Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 1
Points : 1
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 :
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>
MisterShadows est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 01h05   #2
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

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

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Exemple :
Code :
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.
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/10/2011, 09h39   #3
Invité de passage
 
Homme CHAD
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme CHAD
Localisation : France

Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 1
Points : 1
Par défaut Ok c'est beaucoup mieux

Merci pour ce résumé de code.
MisterShadows est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h47.


 
 
 
 
Partenaires

Hébergement Web