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 :

Image drag drop selection


Sujet :

JavaScript

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 44
    Points
    44
    Par défaut Image drag drop selection
    Bonjour,
    Donc en lisant le titre, oui je sais il y a deja des sujet qui parle de ca mais pas exactement.
    EN fait je voudrais faire une galerie d'image avec mes photos entourées d'un cadre polaroid et étalé sur une table en vrac. Les photos peuvent se chevauchées et etre deplaceable en tenant appuyé le clic de la souris, une zone à droite, une sorte de panier permetrait d'en selectionner.
    Je suis tombé sur un site sympa qui propose une source que j'ai remanié mais qui ne fonctionne malheureusement pas sous IE.
    Ensuiste j'ai trouvé http://www.guillaumevoisin.fr/jquery...ste-des-taches qui ce que je recherche mais avec une liste <li> mais impossible de remplacer par des <img> sans toucher au jquery.
    Dans un premier temps je cherche le code le plus simple pour du drag photo et drop libre dans la fenetre.
    Donc voila, si y a des questions ou des réponses ou des liens ou des "ca a été résolu mille fois", je prends.
    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 44
    Points
    44
    Par défaut
    Toujours besoin d'aide mais j'avance un peu avec le code :

    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
    94
    95
    96
    97
    98
    var rectangleBorderWidth = 2;	// Used to set correct size of the rectangle with red dashed border
    	var useRectangle = true;
     
    	var autoScrollSpeed = 4;	// Autoscroll speed	- Higher = faster
     
    	/* Don't change anything below here */
     
     
    	var dragableElementsParentBox;
    	var opera = navigator.appVersion.indexOf('Opera')>=0?true:false;
     
    	var rectangleDiv = false;
    	var insertionMarkerDiv = false;
    	var mouse_x;
    	var mouse_y;
     
    	var el_x;
    	var el_y;
     
    	var dragDropTimer = -1;	// -1 = no drag, 0-9 = initialization in progress, 10 = dragging
    	var dragObject = false;
    	var dragObjectNextObj = false;
    	var dragableObjectArray = new Array();
    	var destinationObj = false;	
    	var currentDest = false;
    	var allowRectangleMove = true;
    	var insertionMarkerLine;
    	var dragDropMoveLayer;
    	var autoScrollActive = false;
    	var documentHeight = false;
    	var documentScrollHeight = false;
    	var dragableAreaWidth = false;
     
    	function getTopPos(inputObj)
    	{		
    	  var returnValue = inputObj.offsetTop;
    	  while((inputObj = inputObj.offsetParent) != null){
    	  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
    	  }
    	  return returnValue;
    	}
     
    	function getLeftPos(inputObj)
    	{
    	  var returnValue = inputObj.offsetLeft;
    	  while((inputObj = inputObj.offsetParent) != null){
    	  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
    	  }
    	  return returnValue;
    	}
     
    	function cancelSelectionEvent()
    	{
    		if(dragDropTimer>=0)return false;
    		return true;
    	}
     
    	function getObjectFromPosition(x,y)
    	{
    		var height = dragObject.offsetHeight;
    		var width = dragObject.offsetWidth;
    		var indexCurrentDragObject=-5;
    		for(var no=0;no<dragableObjectArray.length;no++){			
    			ref = dragableObjectArray[no];			
    			if(ref['obj']==dragObject)indexCurrentDragObject=no;
    			if(no<dragableObjectArray.length-1 && dragableObjectArray[no+1]['obj']==dragObject)indexCurrentDragObject=no+1;
    			if(ref['obj']==dragObject && useRectangle)continue;	
    			if(x > ref['left'] && y>ref['top'] && x<(ref['left'] + (ref['width']/2)) && y<(ref['top'] + ref['height'])){
    				if(!useRectangle && dragableObjectArray[no]['obj']==dragObject)return 'self';
    				if(indexCurrentDragObject==(no-1))return 'self';
    				return Array(dragableObjectArray[no],no);
    			}
     
    			if(x > (ref['left'] + (ref['width']/2)) && y>ref['top'] && x<(ref['left'] + ref['width']) && y<(ref['top'] + ref['height'])){
    				if(no<dragableObjectArray.length-1){
    					if(no==indexCurrentDragObject || (no==indexCurrentDragObject-1)){
    						return 'self';
    					}
    					if(dragableObjectArray[no]['obj']!=dragObject){
    						return Array(dragableObjectArray[no+1],no+1);
    					}else{
    						if(!useRectangle)return 'self';
    						if(no<dragableObjectArray.length-2)return Array(dragableObjectArray[no+2],no+2);
    					}
    				}else{
    					if(dragableObjectArray[dragableObjectArray.length-1]['obj']!=dragObject)return 'append';	
     
    				}
    			}
    			if(no<dragableObjectArray.length-1){
    				if(x > (ref['left'] + ref['width']) && y>ref['top'] && y<(ref['top'] + ref['height']) && y<dragableObjectArray[no+1]['top']){
    					return Array(dragableObjectArray[no+1],no+1);
    				}
    			}
    		}	
    		if(x>ref['left'] && y>(ref['top'] + ref['height']))return 'append';				
    		return false;	
    	}

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 64
    Points : 47
    Points
    47
    Par défaut
    Je te conseille plutôt d'aller voir de ce côté
    http://www.redips.net/javascript/dra...table-content/
    ou
    d apprendre le jquery en 30days
    https://tutsplus.com/

Discussions similaires

  1. tshape image drag drop
    Par ouiouioui dans le forum Débuter
    Réponses: 2
    Dernier message: 31/01/2012, 11h39
  2. Gridlayout images drag & drop
    Par nasriOM dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 19/11/2007, 18h57
  3. Drag Drop image
    Par kapfab dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/12/2006, 01h07
  4. Réponses: 6
    Dernier message: 30/09/2006, 13h58
  5. Drag & Drop d'un TImage avec image "glissante"
    Par jcs2 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 15/10/2005, 23h05

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