begin process at 2010 03 22 06:01:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

dupliquer un element en direct


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

dupliquer un element en direct

samedi 15 novembre 2008 à 00:44:27 | dupliquer un element en direct

crasse

bonsoir (re) decidemment je vous solicite beaucoup, je suis en plein aprentissage du javascript donc je galere un peu -_-

enfin bon, voila j'aurai voulu savoir si il etait possible de dupliquer un element (genre une image contenu dans une div, donc la div en fait ) en direct sur un site. Ca a l'air bizarre, mais en fait je suis en train de mettre en place une espece d'interface (assez idiote mais bon) de "création" (le mot est grand) graphique a partir d'un ensemble d'element visuel contenu dans des div.

pour l'instant j'en suis la : (on peut deplacer et changer la taille des elements) (l'aspect est un peu special mais c'est en travaux, et le son decalé c'est normal)

[ Lien ]

donc par exemple, est il possible par un moyen ou un autre avec js de selectionner une patte et de la dupliquer en direct ?
samedi 15 novembre 2008 à 11:06:30 | Re : dupliquer un element en direct

Bul3

Membre Club
Réponse acceptée !
bonjour,
tu peux créer les éléments que tu veux, avec createElement et appendChild par exemple
ensuite y mettre ce que tu veux, là aussi
regrade déjà le début sur selfHTML ici
Cordialement
          Bul [mon Site] [M'écrire]         

samedi 15 novembre 2008 à 11:29:05 | Re : dupliquer un element en direct

PetoleTeam

Membre Club
Réponse acceptée !
Bonjour,
Il existe la méthode cloneNode pour cela
//--------------------------
function Clone_Element( id_){
  //-- Recup l'objet source
  var O_Src = document.getElementById( id_);
  if( O_Src){
    //-- Creation d'un clone
    var O_Clone = O_Src.cloneNode( true);
    //-- Ajout du clone
    document.appendChild( O_Clone);
  }
}

Attention cela crée un clone donc même id etc..., donc à initialiser avec au moins une id différente...
;O)
samedi 15 novembre 2008 à 14:47:37 | Re : dupliquer un element en direct

crasse



merci pour vos reponses, je m'y met de suite :D !
samedi 15 novembre 2008 à 19:25:16 | Re : dupliquer un element en direct

crasse



bon apres quelques heures dessus me voila de nouveau perdu -_-"

j'ai a peu pres compris comment fonctionne le clonenode (en appliquant et modifiant des tuto et des example, j'arrive a cloner des node et leur contenu) mais theoriquement (ou dans des fenetre d'alerte ) donc en gros je duplique pas vraiment ma div et son contenu physiquement dans la page.

la ou je bloque c'est sur le appendchild et tout ce qui doit en decouler :

en gros par exemple j'ai la div suivante (contenant une image):

<div id="patte" name="patte" onMouseOver="fnOnMouseOver('patte');" onMouseOut="fnOnMouseOver();"><img src="img/patte3.png" width="100%" height="100%" ></div>

a laquelle est associé un css :


#patte {
top: 166px;
width: 154px;
height:1
97px;
position: absolute;
border: 1px dashed #00FF00;
left: 220px;
}


donc en gros l'idéal c'est que je duplique la div (et son contenu), créant ainsi une div identique a la premiere, mais ayant un nouvel  ID et que en plus (ça fait beaucoup -_- ) cela crée dans le fichier css associé, une nouvelle classe pour cette nouvelle div, identique (au moment de la copie) a la classe de la div (node) parent.

cela est il possible (et a porté de main d'un novice -_- ) ?

samedi 15 novembre 2008 à 20:01:40 | Re : dupliquer un element en direct

PetoleTeam

Membre Club
Réponse acceptée !
dans ce cas il est préférable de passer par les class

pour la prise en compte de la class on écrit comme suit
<div id="patte" class="patte" ...>
Nota : le name est inutile sur un DIV

pour la déclaration dans la partie style c'est
.patte {
  top : 166px;
  width : 154px;
  height :197px;
  position : absolute;
  border : 1px dashed #00FF00;
  left : 220px;
}

;O)
dimanche 16 novembre 2008 à 19:43:03 | Re : dupliquer un element en direct

crasse



iop , merci pour ta reponse :D !

 j'ai tenté de l'appliquer cependant je suis toujours en galere -_- (mais mon cerveau est en effervescence XD ) ça ne duplique pas mais bon, je dois pas en etre loin : voila ce que j'ai fait :

mon element a dupliquer :

<div id="divTest26" class="divTest26" onMouseOver="fnOnMouseOver('divTest26');" onMouseOut="fnOnMouseOver();" onClick="Clone_Element('divTest26');"><img src="img/patte1.png" width="100%" height="100%" ></div>


la fonction de duplication dans un js joint (copy.js) :


//--------------------------
functionClone_Element(divTest26){
  //-- Recup l'objet source
  var O_Src = document.getElementById(divTest26);
  if( O_Src){

    //-- Creation d'un clone
    var O_Clone = O_Src.cloneNode( true);
    //-- Ajout du clone
    document.appendChild( O_Clone);
  }
}



la partie style dans le css joint :

.divTest26 {
top: 525px;
width: 110px;
height: 80px;
position: absolute;
border: 1px dashed #000000;
left: 642px;

}

et les appel du js et du css (qui sont bons a priori mais bon)


<script type="text/javascript" src="./js/copy.js"></script>

<link rel="stylesheet" href="divresize.css">

la seule chose a la quelle je pense qu'il pourrait manquer, ce serai une commande


body onLoad="clone_element()";

sinon, je vois pas trop, je nage un peu a vrai dire -_-, sinon j'ai aussi pensé au fait que rien ne precise au script de créer une nouvelle id pour le nouvel element (fruit de la duplication), mais le probleme c'est que je ne sais absolument pas comment ordonner de creer un nouvel id .

Puis-je soliciter une nouvelle fois votre aide s'il vous plait (en esperant ne pas trop vous embeter ^^ ) ?






lundi 17 novembre 2008 à 09:19:33 | Re : dupliquer un element en direct

Bul3

Membre Club
Réponse acceptée !
élagons... ne laissons que le strict nécessaire....

<body>
<script>
function Clone_Element(dv){   
    var O_Clone = dv.cloneNode( true);
    document.body.appendChild( O_Clone);
    O_Clone.style.top="100px";    // pour voir
 }
</script>
<div id="divTest26" class="divTest26"    
    onClick="Clone_Element(this);"><img src="img/patte1.png" />&nbsp;</div>
</body>



Cordialement

          Bul [mon Site] [M'écrire]         

lundi 17 novembre 2008 à 15:28:39 | Re : dupliquer un element en direct

crasse



trop bien ça marche !! grand merci ^^ !!

donc en gros ce qu'il manquait c'etait juste le O_Clone.style.top="100px"; ?

sinonpar contre il reste toujours un petit souci(promis apres j'arrete :3 ) comme on peut le voir maintenant sur ma page (j'ai fait une maj avec ce code corrigé ^^ [ Lien ] ), en double cliquant sur la patte en bas a gauche du "tas" d'image ( celle qui pointe vers le bas ) ça creer donc une autre patte plus haut, mais cette nouvelle patte n'est pas manipulable, ou plus exactement (et finalement ce qui est assez logique) lorsque je tente de la manipuler, en fait cela modifie la patte "parent", car la nouvelle doit avoir la meme ID que la "parent".

Est-il possible d'ordonner la création d'une patte "child" ayant une nouvelle ID (du coup, appartenant a la meme classe, elle aura les meme proportion de base, mais sera manipulable independamment de la "parent", enfin si je ne me trompe pas, cela dit, parallélement a ça, je me dis aussi que si elle a une nouvelle ID, ce nouvel element devra aussi heriter des comportement
onMouseOver="fnOnMouseOver(this);" onMouseOut="fnOnMouseOver();" onClick="Clone_Element(this)

de son element parent, cela se fait il automatiquement lors de la duplication ?

lundi 17 novembre 2008 à 15:44:09 | Re : dupliquer un element en direct

Bul3

Membre Club
>>donc en gros ce qu'il manquait c'etait juste le O_Clone.style.top="100px"; ?
non,non. ça c'est pour le voir, sinon ça recouvre l'ancien
mais document.body ( en gras ) là, mon foie....
>>lorsque je tente de la manipuler, en fait cela modifie la patte "parent", car la nouvelle doit avoir la meme ID
comme l'avait signalé petoleteam
alors... change le !    O_Clone.id="ce_que_tu_veux_ou_presque";   
                              tu sauras bien créer/calculer un id spécifique que tu puisses retrouver
          Bul [mon Site] [M'écrire]         


1 2 3

Cette discussion est classée dans : possible, element, direct, div, dupliquer


Répondre à ce message

Sujets en rapport avec ce message

Récupérer le contenu d'une balise div [ par tonic1 ] Bonjour à tous, je galère depuis plusieurs jours sur des gros problèmes de mise en forme de données.A partir de données provenant d'une base de donnée Vote en direct [ par Blacknight91titi ] Bonjours a tous.Après avoir chercher un peu et beaucoup travailler sur un script je me demande s'il est finalement possible.Je dispose d'un sondage et Element portant le meme id [ par 6xavier6 ] Bonjour,J'aurai aimé savoir s'il été possible de sélectionner plusieurs élément par leur id, s'il est identique.Je m'explique : J'ai 2 champs d'un for Optimisation javascript possible ? [ par annesirine ] Bonjour a tous,Je genere du html avec javascript par programmation, et concretement ca m'amene a faire des milliers de DIV dans lequel y tjs la meme c dupliquer le contenu d'une div (faire papier peint) [ par crasse ] bonsoir !je voudrais savoir si il est possible sans faire du copier coller brutale de dupliquer le contenu d'une div horizontalement et verticalement Afficher masquer une div [ par jeanMOULIN54 ] Bonjour à tous,Voilà j'essaye d'afficher une image dans une div au survol d'un lien, et une autre image toujours dans la même div au survol d'un secon modification lightbox .... bouton close en haut a droite [ par petardier ] bonjour,je souhaite modifier une light box en mettant le bouton close en haut a gauche , plutot qu'en bas.Ainsi, quand une image est plus grande que l Cacher une "div" pendant un certain temps [ par Hepoc ] Bonjour, Voilà que depuis <span class="spellmodupdated" title="" mce_serialized="15" hptip="Faute d'orthographe - suggestions : hè Zoom sur photo qui remplace un div [ par toons43 ] Bonjour à tous,Je cherche un script ou un debut de code pour faire un zoom sur image.Le zoom doit s'effectuer par dessus le texte de mon site.Mais rie drag n drop d'image [ par crasse ] bonsoir !Je suis en train d'essayer de realiser une interface simple de drag n drop d'image mais je n'y parviens pas completement...pour commencer, je


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales