Reacties op het script Drag and Drop
|
Gepost op: 27 oktober 2010 - 00:32 |
|
|
|
PHP expert
|
Ik zie dat veel code korter geschreven kan worden. Ook zou je alle $ in je plugin moeten vervangen met het woordje jQuery. Dit is omdat de plugin dan altijd zal werken, ook als je bijvoorbeeld Prototype naast jQuery hebt draaien en je hebt compatibility modus aanstaan. |
|
|
|
Gepost op: 27 oktober 2010 - 11:09 |
|
|
|
HTML interesse
|
Ibrahim schreef: Ik zie dat veel code korter geschreven kan worden. Ook zou je alle $ in je plugin moeten vervangen met het woordje jQuery. Dit is omdat de plugin dan altijd zal werken, ook als je bijvoorbeeld Prototype naast jQuery hebt draaien en je hebt compatibility modus aanstaan.
Ik heb de code ingekort en compatibility met andere js plugins toegevoegd. |
|
|
|
Gepost op: 28 oktober 2010 - 01:40 |
|
|
|
PHP expert
|
x = e.pageX - mouseX;
y = e.pageY - mouseY;
if( x <= 1 )
x = 1;
if( y <= 1 )
y = 1;
draggable.css("left", x );
draggable.css("top", y );
x = e.pageX - mouseX; y = e.pageY - mouseY; if( x <= 1 ) x = 1; if( y <= 1 ) y = 1; draggable.css("left", x ); draggable.css("top", y );
Dit kan ook zo geschreven worden. Heel wat andere zaken kunnen korter geschreven worden.
draggable.css("left", ((e.pageX - mouseX) <= 1 ? 1 : (e.pageX - mouseX)));
draggable.css("top", ((e.pageY - mouseY) <= 1 ? 1 : (e.pageY - mouseY)));
draggable.css("left", ((e.pageX - mouseX) <= 1 ? 1 : (e.pageX - mouseX))); draggable.css("top", ((e.pageY - mouseY) <= 1 ? 1 : (e.pageY - mouseY)));
Ook dit kan korter geschreven worden:
jQuery("*").css('user-select', 'none');
jQuery("*").css('-o-user-select', 'none');
jQuery("*").css('-moz-user-select', 'none');
jQuery("*").css('-khtml-user-select', 'none');
jQuery("*").css('-webkit-user-select', 'none');
jQuery("*").css('user-select', 'none'); jQuery("*").css('-o-user-select', 'none'); jQuery("*").css('-moz-user-select', 'none'); jQuery("*").css('-khtml-user-select', 'none'); jQuery("*").css('-webkit-user-select', 'none');
Aangezien jQuery bij elke functie zijn eigen object terugstuurt, kun je een chain vormen van functies:
jQuery("*").css('user-select', 'none').css('-o-user-select', 'none').etc...
jQuery("*").css('user-select', 'none').css('-o-user-select', 'none').etc...
|
|
|
|
Gepost op: 28 oktober 2010 - 14:33 |
|
|
|
HTML interesse
|
Updatet, maar in hoeverre blijft het 'mijn' script als ik hem aan iemands anders zijn programmeer standaarden moet aanpassen?
Persoonlijk vind ik het prettiger om sommige regels niet samen te voegen ook al kost met dat 9 extra regels code. |
|
|
|
Gepost op: 29 oktober 2010 - 01:43 |
|
|
|
PHP expert
|
pinquin schreef: Updatet, maar in hoeverre blijft het 'mijn' script als ik hem aan iemands anders zijn programmeer standaarden moet aanpassen?
Persoonlijk vind ik het prettiger om sommige regels niet samen te voegen ook al kost met dat 9 extra regels code. Eigenlijk mag je dit zelf bepalen. Zelf ben ik voor jou manier omdat je leesbaarheid in je code verhoogd. Alles op 1 lijn is werk voor een compiler.
Verder een heel leuk script maar ik zou het handig vinden moesten de divs hun positie onthouden worden. Stel ik sleep een div en release die, dan zou zijn coordinaten moeten onthouden worden en bij het herladen van de pagina terug naar die coordinaten gezet moeten worden.
Zou het misschien mogelijk zijn om de draggable objecten te kunnen laten droppen in dropable objecten?
Misschien ook een leuke feature is om de zichtbaarheid (transparancy) in te stellen bij het draggen van het object... Als ik een object drag, dan heb ik graag dat die wat doorzichtig is. |
|
|
|
Gepost op: 02 november 2010 - 10:37 |
|
|
|
HTML interesse
|
Ik zal kijken wanneer ik dat kan toevoegen, had dit voor mijn werk gemaakt en daar zijn de transparancy en het onthouden van de positie (nog) niet aan de orde.
Update:
- Transparency toegevoegd bij slepen
- localStorage voor positie elementen toegevoegd (HTML5 browser req.) |
|
|
|
Gepost op: 02 november 2010 - 15:37 |
|
|
|
HTML interesse
|
Stijn schreef: [..quote..]
Zou het misschien mogelijk zijn om de draggable objecten te kunnen laten droppen in dropable objecten?
Ja, dit is mogelijk, maar ik ga dit niet toevoegen als functionaliteit. |
|
|
Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom. |
|
|
|