Drag si Drop este un efect prin care elementele pot fi mutate /trase cu mouse-ul si lasate intr-un loc special in pagina web.
Pentru a crea efecte drag & drop cu jQuery, trebuie sa folositi si jQuery UI, o librarie de functii aditionale la libraria de baza jQuery.
jQuery UI e ca un plugin cu mai multe functii pentru crearea de efecte speciale cu jQuery. Deci, trebuie sa includeti in pagina web ambele fisiere ".js": cel principal cu jQuery si jQuery UI.
- Puteti descarca jQuery UI de la pagina: Download jQuery UI
$('selector').draggable({ optiune: valoare });- optiune: valoare - reprezinta unul sau mai multe perechi optiune/valoare pentru configurarea functiei draggable(). Sunt o multime de optiuni pentru aceasta functie, iata cateva din ele:
$('selector').droppable({ optiune: valoare });- optiune: valoare - reprezinta unul sau mai multe perechi optiune/valoare pentru configurarea functiei droppable(). Iata cateva din ele:
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>jQuery Drag si Drop</title> <style type="text/css"><!-- #drop { width:200px; height:150px; margin:3px auto; background:#eddaa8; font-size:16px; } #drop #sw { text-decoration:underline; cursor:pointer; } #drag { width:450px; height:180px; margin:12px auto; border:1px solid silver; font-size:16px; } #drag .drg { margin:10px 12px; } #drag div.drg { width:150px; height:50px; background:#07da08; border:2px solid blue; } --></style> <script type="text/javascript" src="jquery_1.6.1.js"></script> <script type="text/javascript" src="jquery-ui-1.8.14.js"></script> <script type="text/javascript"><!-- $(document).ready(function() { // sets the draggable $('#drag .drg').draggable({ cursor: 'move', // seteaza aspectul cursorului revert: 'valid' }); // sets droppable $('#drop').droppable({ drop: function(event, ui) { // cand elementele trase sunt eliberate, sunt ascunse cu hide() ui.draggable.hide(1000); } }); // la click pe "#sw" (din interiorul lui "#drop") // face vizibile elementele cu class="drg", continute in "#drag" $('#drop #sw').click(function(){ $('#drag .drg').slideDown(1000); }); }); --></script> </head> <body> <div id="drop">Plaseaza aici <span id="sw">Click</span></div> <div id="drag"> Muta cu mouseul aceste imagini:<br /> <img src="circle.gif" alt="cerc" width="45" height="45" class="drg" /> <img src="triangle.gif" alt="triunghi" width="65" height="55" class="drg" /> <img src="rhomb.gif" alt="romb" width="70" height="55" class="drg" /> <div class="drg">Click si trageti cu mouse-ul acest DIV</div> </div> </body> </html>Demo:
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>jQuery UI Drag si Drop</title> <style type="text/css"><!-- #drop { width:200px; height:150px; margin:3px auto; background:#eddaa8; font-size:16px; } #drop.drp { background:#f1ef08; } #drop #sw { text-decoration:underline; cursor:pointer; } #drag { width:450px; height:180px; margin:12px auto; border:1px solid silver; font-size:16px; } #drag .drg { margin:10px 12px; } #drag div.drg { width:150px; height:50px; background:#07da08; border:2px solid blue; } --></style> <script type="text/javascript" src="jquery_1.6.1.js"></script> <script type="text/javascript" src="jquery-ui-1.8.14.js"></script> <script type="text/javascript"><!-- $(document).ready(function() { // seteaza draggable si cateva optiuni $('#drag .drg').draggable({ cursor: 'move', // seteaza aspectul cursorului revert: 'invalid', // face elementu tras sa revina la pozitia lui, daca nu e lasat in droppable revertDuration: 900, // durata miscarii de revenire opacity: 0.35 // opacitatea elementului in timp ce e mutat }); // definire optiuni pt. droppable $('#drop').droppable({ accept: 'img.drg', // accepta doar imagini cu class 'drg' activeClass: 'drp', // adauga class "drp" cand un element acceptat e mutat drop: function(event, ui) { // cand elementele trase sunt eliberate, sunt ascunse cu hide() ui.draggable.hide(1000); } }); // la click pe "#sw" (din interiorul lui "#drop") // face vizibile elementele cu class="drg", continute in "#drag" $('#drop #sw').click(function(){ $('#drag .drg').slideDown(1000); }); }); --></script> </head> <body> <div id="drop">Plaseaza aici <span id="sw">Click</span></div> <div id="drag"> Muta cu mouseul aceste imagini:<br /> <img src="circle.gif" alt="cerc" width="45" height="45" class="drg" /> <img src="triangle.gif" alt="triunghi" width="65" height="55" class="drg" /> <img src="rhomb.gif" alt="romb" width="70" height="55" class="drg" /> <div class="drg">Click si trageti cu mouse-ul acest DIV</div> </div> </body> </html>- revert: 'invalid' - face elementele trase sa revina la pozitia de start daca sunt lasate in alt loc decat in droppable; iar - evertDuration: 900 - seteaza durata revenirii in 900 milisecunde.
<p>Adresa: <strong>http://CoursesWeb.net/</strong> - Tutoriale.</p>
#id { font-weight: 800; }
function someFunction() { alert("CoursesWeb.net"); } setInterval("someFunction()", 2000);
$vname = 8; echo $vname;
We have traveled in space. - Noi am calatorit (deja) in spatiu.
La niña pintaba un arco iris. - Fetita picta un curcubeu.