2010-10-16 19 views
5

Come vorrei ora sviluppare migliori webapps quindi i php e javascript di base che attualmente creo, mi piacerebbe sapere come gli sviluppatori web creano alcuni dei fantastici siti web che ho usato negli ultimi anni.Utilizzo del trascinamento della selezione nei siti Web?

Ad esempio, in alcuni dei siti Web che visito hanno la possibilità di trascinare elementi da una tavolozza sulla pagina Web. Sto pensando principalmente ad alcuni degli strumenti di diagrammi online che ho visto. Come fanno questo perché sono attualmente sconcertato.

Vorrei iniziare a creare questi tipi di siti Web e attualmente non ho idea di come procedere. Innanzitutto desidero creare alcuni siti Web di tester di piccole dimensioni che consentano l'uso di trascinamento e rilascio molto semplice.

Se qualcuno potesse indicarmi le giuste direzioni in termini di collegamenti a tutorial o biblioteche che hanno questa funzione, sarei molto grato.

Cheers.

+1

Se sai che una delle risposte è soddisfacente, dovresti sceglierla come risposta migliore (anche se non è mia);) –

+2

Perché i voti negativi, non solo sulla mia domanda, ma su ogni 1? – Elliott

+1

Qualcuno ha risposto e ha votato per lo spamming. –

risposta

1

Per quanto riguarda un semplice trascinamento della selezione, è possibile fare qualcosa come hai detto con una tavolozza e una finestra di dialogo che cambia colore in base alla caduta.

Vorrei raccomandare il framework jQuery in quanto è molto facile da usare e ha un ottimo API.

La procedura per la prova stessa sono abbastanza semplici:

Avere una tavolozza con i colori: [ ][ ][ ][ ][ ] Questi possono essere le celle della tabella (<td>) che è possibile fare clic su e 'trascinare'.

Si potrebbero fare tabelle e quando si fa clic su una delle tabelle, si usa jQuery per ottenere il colore di sfondo. Quando fai effettivamente clic su <td>, assegna il colore a una variabile.

È possibile creare un <div> semitrasparente che segue il mouse mentre lo si trascina.

Impostare un mouseup ascoltatore sul bersaglio <div> (quello che avrebbe cambiare il colore) e hanno jQuery impostare lo sfondo della <div> al colore nella variabile.

Modifica: quando si trascina qualcosa, si verificherà un leggero problema con la selezione del testo. Una correzione può essere trovata qui: How to disable text selection highlighting using CSS?

+1

Vedo qualcuno suggerito dall'interfaccia utente di jQuery che è fantastico, ma se vuoi imparare che cosa è "sotto il cofano" per questo tipo di attività, che credo sia ciò che stai cercando, dovresti prendere in considerazione una libreria di livello inferiore o anche pura javascript. –

+0

Che ne dici di dire cosa c'è di sbagliato nel mio suggerimento, piuttosto che dare solo un feedback negativo. –

1

jQuery è facile da apprendere (ma non sono sicuro al 100% che funzioni DnD). Personalmente mi piace lo MochiKit, che ha un'eccellente funzionalità di trascinamento della selezione, e anche lo Dojo è molto buono (e ha alcuni fantastici widget).

3

può essere fatto utilizzando l'interfaccia utente jquery

Draggable

Droppable

+0

Esempi concreti eccellenti per iniziare con questo. – awe

2

La migliore, più a prova di futuro (in termini di immunità ai cambiamenti del browser e aggiornamenti) modo per implementare drag/drop è utilizzare la tecnologia dei veri rich client (RIA) come Adobe Flex, Silverlight o JavaFX.

+0

GWT potrebbe anche essere incluso in quella lista – crowne

+0

GWT è ancora Javascript, vulnerabile allo standard del browser. – Sid

1

Penso che dovresti considerare lo sviluppo in GWT che è fondamentalmente un wrapper basato su Java per Javascript.Ha un sacco di supporto per la comunità e un supporto drag and drop completo è disponibile sotto forma di libreria - http://code.google.com/p/gwt-dnd/

Poiché GWT sta codificando in Java, non è davvero un nuovo territorio da avventurarsi ma la conoscenza di Javascript, css, html va molto avanti nella costruzione di una robusta applicazione GWT. Inoltre ti permette di eseguire il debug del tuo codice in eclissi proprio come il codice Java.

Problemi correlati