Hey allemaal,

Om de gebruiksvriendelijkheid van een website waar ik aan werk te verbeteren zou ik graag willen dat de divs op de site verplaatst kunnen worden. Zo kan iedereen de pagina's aanpassen naar hun wensen en is het vaak makkelijker om wat op te zoeken op deze manier.

Maar nu is mijn vraag: hoe krijg ik dit voor elkaar? Ik heb al een aantal java frameworks bekeken, maar dan krijg ik veel te veel code erbij dat weer ingeladen moet worden terwijl het niet gebruikt zal worden.

Daarom vroeg ik me af of iemand hier ervaring heeft met het verplaatsbaar maken van divs, en dat ze wel in een soort grid schieten bij het loslaten (zegmaar de persoonlijke pagina van google)?

Mvg,

Nivek
nou.. allereerst moet je de posities van de div's opslaan in de database, dit kan je zelf wel?

verplaatsbaar maken doe je met een onmousedown, onmousemove en onmouseup
bij de onmousedown geef je (met een variabele) aan dat je aan het slepen bent, ook geef je aan welke div je aan het slepen bent en bereken je de mouse-offset
bij de onmousemove kijk je eerst of je aan het slepen bent (met die variabele dus), dan neem je de muispositie - de offset voor de positie van de div en dat kun je dus aanpassen met document.getElementById(draggedDiv).style.left/top
bij de onmouseup zeg je eerst dat je niet meer aan het slepen bent (weer met die variabele). dan kijk je bij welke 'gridlines' de positie het dichtst in de buurt licht en dan verplaats je de div daarnaar toe.

ik heb nu geen zin om code voor te kauwen, dus ik hoop dat je hiermee verder komt ;)
@leroy , of kijk wat jacco poste en doe dat... je denkt veels te moeilijk
ik was bezig met typen toen hij postte ;)
Ik was een tijdje geleden bezig met iets vergelijkbaars volgens mij. Mijn ding was vooral bedoeld voor het maken van collages, maar ik moet het nog een keer afmaken. En werkend krijgen in andere browsers dan Safari (en Firefox?)
Jacco schreef op 22.08.2008 14:58
http://www.phpriot.com/articles/sortable-lists-with-php-and-ajax/

In combinatie met een dubbele LI


Precies wat ik bedoelde. Ik ga er vanavond of morgen even mee aan de slag en kom er dan op terug.

Bedankt voor de reacties. Het probleem was dat ik zelf geen javascript held ben en ik geen zin had om een compleet javascript framework te moeten gebruiken ^^..

En ja, het opslaan ect. is geen probleem.

en kom er dan op terug.


Denk het niet :P want die tut is dusdanig helder dat alles vrij vlot zou moeten gaan :P
Oke, na het uitproberen van beide script heb ik gekozen voor die van www.dhtmlgoodies.com.

Hij werkt, alhoewel ik hem niet helemaal naar behoren vind werken, maar nu zit ik met het live updaten van de database.

Hier staat de code en uitleg hoe ik hem gebruik:
http://www.dhtmlgoodies.com/index.html?showDownload=true&whichScript=arrange-nodes-2

Hoe zorg ik er dus voor dat hij na elke verandering oftewel drop, hij de savedata() oproept en dit wegschrijft naar de database?

p.s. Hier wat er op dit moment mee werkt: http://208.101.38.186/beta2/

Reageren