2009-01-15 20:17:49 +00:00
<!doctype html>
< html lang = "en" >
< head >
2009-01-15 21:57:33 +00:00
< title > jQuery UI Draggable - Snap to element or grid< / title >
2009-01-15 20:17:49 +00:00
< link type = "text/css" href = "../../themes/base/ui.all.css" rel = "stylesheet" / >
2009-01-22 09:13:28 +00:00
< script type = "text/javascript" src = "../../jquery-1.3.1.js" > < / script >
2009-01-15 20:17:49 +00:00
< script type = "text/javascript" src = "../../ui/ui.core.js" > < / script >
< script type = "text/javascript" src = "../../ui/ui.draggable.js" > < / script >
< link type = "text/css" href = "../demos.css" rel = "stylesheet" / >
< style type = "text/css" >
2009-01-15 21:57:33 +00:00
.draggable { width: 90px; height: 80px; padding: 5px; float: left; margin: 5px; font-size: .9em; }
2009-01-15 20:17:49 +00:00
.ui-widget-header p, .ui-widget-content p { margin: 0; }
#snaptarget { height: 140px; }
< / style >
< script type = "text/javascript" >
$(function() {
$("#draggable").draggable({ snap: true });
$("#draggable2").draggable({ snap: '.ui-widget-header' });
$("#draggable3").draggable({ snap: '.ui-widget-header', snapMode: 'outer' });
2009-01-15 21:57:33 +00:00
$("#draggable4").draggable({ grid: [20,20] });
$("#draggable5").draggable({ grid: [80, 80] });
2009-01-15 20:17:49 +00:00
});
< / script >
< / head >
< body >
< div class = "demo" >
< div id = "snaptarget" class = "ui-widget-header" >
< p > I'm a snap target< / p >
< / div >
< br clear = "both" / >
2009-01-15 21:57:33 +00:00
< div id = "draggable" class = "draggable ui-widget-content" >
2009-01-15 20:17:49 +00:00
< p > Default (snap: true), snaps to all other draggable elements< / p >
< / div >
2009-01-15 21:57:33 +00:00
< div id = "draggable2" class = "draggable ui-widget-content" >
2009-01-15 20:17:49 +00:00
< p > I only snap to the big box< / p >
< / div >
2009-01-15 21:57:33 +00:00
< div id = "draggable3" class = "draggable ui-widget-content" >
2009-01-15 20:17:49 +00:00
< p > I only snap to the outer edges of the bix box< / p >
< / div >
2009-01-15 21:57:33 +00:00
< div id = "draggable4" class = "draggable ui-widget-content" >
< p > I snap to a 20 x 20 grid< / p >
2009-01-15 20:17:49 +00:00
< / div >
2009-01-15 21:57:33 +00:00
< div id = "draggable5" class = "draggable ui-widget-content" >
< p > I snap to a 80 x 80 grid< / p >
2009-01-15 20:17:49 +00:00
< / div >
< / div > <!-- End demo -->
< div class = "demo-description" >
2009-01-15 21:57:33 +00:00
< p > Snap the draggable to the inner or outer boundaries of a DOM element. Use the < strong > snap< / strong > , < strong > snapMode< / strong > (inner, outer, both), and < strong > snapTolerance< / strong > (distance in pixels the draggable must be from the element when snapping is invoked) options. < / p >
< p > Or snap the draggable to a grid. Set the dimensions of grid cells (height and width in pixels) with the < strong > grid< / strong > option.< / p >
2009-01-15 20:17:49 +00:00
< / div > <!-- End demo - description -->
< / body >
< / html >