Jump to content
Rpg²S Forum
  • 0

Script Drag&Drop con Javascript


Dax
 Share

Question

Voglio condividere con tutti voi questo script mio, creato su un altrui base ( giulio.gangi.eu ) e modificato in modo tale da permettere drag e drop di infiniti elementi nella vostra pagina.

Avete presente il Drag&Drop che è? Clickate su un oggettino, spostate il mouse mentre tenete premuto, e questi si sposta con voi, fermandosi nella nuova posizione. Potete farci quello che volete, abbinato ad un div potete fare di tutto.

Io lo uso per spostare su schermo le finestre di aiuto.

 

Consiglio una base di html e js per usarlo ^^

 

<script language="javascript">

var Drag = {

elm: null,
casella: null,
busy: 0,   /* <----- */

get: function(id) {
return document.getElementById(id);
},

init: function(cas,id_div) {
if (Drag.busy == 0) {   /* <----- */
Drag.elm = Drag.get(id_div);
if ( Drag.casella )
document.getElementById(Drag.casella).onmousedown = null;
Drag.casella = cas;
Drag.elm.style.position = "absolute";
document.getElementById(cas).style.cursor = "move";
document.getElementById(cas).onmousedown = Drag.start;
}   /* <----- */
},

start: function(e) {
e = e || window.event;
Drag.elm.lastX = e.clientX;
Drag.elm.lastY = e.clientY;
document.onmousemove = Drag.move;
Drag.elm.onmouseup = Drag.end;
return false;
},

move: function(e) {
e = e || window.event;
Drag.busy = 1   /* <----- */
var ex = e.clientX;
var ey = e.clientY;
var currentX = parseInt(Drag.elm.style.left);
var currentY = parseInt(Drag.elm.style.top);
Drag.elm.style.left = currentX + (ex - Drag.elm.lastX) + "px";
Drag.elm.style.top = currentY + (ey - Drag.elm.lastY) + "px";
Drag.elm.lastX = ex;
Drag.elm.lastY = ey;
return false;
},

end: function() {
Drag.busy = 0   /* <----- */
document.onmousemove = null;
Drag.elm.onmouseup = null;
}

}
</script>

 

Dopo aver inserito questo script, preferibilmente nell'head della pagina, inserite questo codice nel tag che volete faccia da "base" per il drag. Può essere tutto il div oppure la prima riga di una tabella, o un'immagine.

onMouseOver="Drag.init('id_dove_premere','id_div_che_sposti');"

 

Ecco qui un esempio con div

 

spero possa servire a qualcuno ^^

 

EDIT: Aggiornato con la modifica di Piccolo, thanx bell'uomo

Edited by Dax

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]


SCContest1Oct.gif
gifnatale1.pnggifnatale12.png

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Bel lavoro Dax (l'idea inserita nel browser game eh!) ^ ^

Ho notato sul sito d'esempio che se con un oggetto passi sopra ad un altro mantenendo premuto col mouse i due oggetti si scambiano! E' voluto? Dopo che i due oggetti sono stati scambiati se rilasci il tasto non lo lascia e per lasciarlo bisogna ricliccarci (questo accade solo dopo che gli oggetti sono stati scambiati come ho detto prima).

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

  • 0
non è voluto, dev'essere un errore xD vabbè conviveteci! XD se limitate a una piccola striscia di 20 pixel d'altezza come drag non troverete problemi (come appunto io nel gioco)

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]


SCContest1Oct.gif
gifnatale1.pnggifnatale12.png

Link to comment
Share on other sites

  • 0

Bello ^^ !

Però voglio vederlo all'opera in dungeons! >: D

 

Ah, se può servirti, queste modifiche dovrebbero risolvere il problema: (le modifiche sono dove ci sono i commenti a fianco ovviamente)

<script language="javascript">

var Drag = {

elm: null,
casella: null,
busy: 0,   /* <----- */

get: function(id) {
return document.getElementById(id);
},

init: function(cas,id_div) {
if (Drag.busy == 0) {   /* <----- */
Drag.elm = Drag.get(id_div);
if ( Drag.casella )
document.getElementById(Drag.casella).onmousedown = null;
Drag.casella = cas;
Drag.elm.style.position = "absolute";
document.getElementById(cas).style.cursor = "move";
document.getElementById(cas).onmousedown = Drag.start;
}   /* <----- */
},

start: function(e) {
e = e || window.event;
Drag.elm.lastX = e.clientX;
Drag.elm.lastY = e.clientY;
document.onmousemove = Drag.move;
Drag.elm.onmouseup = Drag.end;
return false;
},

move: function(e) {
e = e || window.event;
Drag.busy = 1   /* <----- */
var ex = e.clientX;
var ey = e.clientY;
var currentX = parseInt(Drag.elm.style.left);
var currentY = parseInt(Drag.elm.style.top);
Drag.elm.style.left = currentX + (ex - Drag.elm.lastX) + "px";
Drag.elm.style.top = currentY + (ey - Drag.elm.lastY) + "px";
Drag.elm.lastX = ex;
Drag.elm.lastY = ey;
return false;
},

end: function() {
Drag.busy = 0   /* <----- */
document.onmousemove = null;
Drag.elm.onmouseup = null;
}

}

Scheda PG RPG2S RPG

 

 

 

 

 

 

Nome: Etoh Vorti

Et�: 23

Razza: Umano

Descrizione: Alto poco pi� di un metro e settanta, capelli corti e scuri, di corporatura media, occhi neri. Tiene solitamente barba incolta e capelli spettinati.

Equipaggiamento:

-pugnale comune

-armatura di cuoio

-cappuccio

-borsa comune

-antidoto

-corda

-benda di pronto soccorso

-torcia

-bottiglia di idromele

-bussola

-mappa strana ma importante per l'avanzamento della quest [oggetto unico ftw!]

 

Denaro: 18

 

 

 

 

 

� I leave the human cockroaches to discuss their heroin and child pornography.

I have business elsewhere, with a better class of person. �

Rorschach

http://img14.imageshack.us/img14/4562/bullsign.png

"Time will one day rob you of your youthful luster. But your inner boobies will shine forever!" - Sinfest

"� l'hanno dei giochi misteriosi questo" disse Testament (ora spiegatemi perch� lui � laureato e io no)

http://img167.imageshack.us/img167/1621/flamingfocciolahq2.gifhttp://img137.imageshack.us/img137/7364/dinosauroiooz3.png

http://img233.imageshack.us/img233/7186/comics2hd8.gifhttp://img405.imageshack.us/img405/7272/comicsprimonh8.gifhttp://img233.imageshack.us/img233/7186/comics2hd8.gifhttp://img252.imageshack.us/img252/7025/arcade2rpgmakertarghetttb6.jpg

Scarica anche tu Pic-Man da questo topic

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...