2010-03-12 03:18:34 +00:00
<!DOCTYPE html>
2009-01-15 20:17:49 +00:00
< html lang = "en" >
< head >
2010-09-10 13:17:58 +00:00
< meta charset = "utf-8" >
2009-01-15 21:57:33 +00:00
< title > jQuery UI Draggable - Snap to element or grid< / title >
2010-09-10 13:17:58 +00:00
< link rel = "stylesheet" href = "../../themes/base/jquery.ui.all.css" >
2012-03-22 13:57:33 +00:00
< script src = "../../jquery-1.7.2.js" > < / script >
2010-09-10 13:17:58 +00:00
< script src = "../../ui/jquery.ui.core.js" > < / script >
< script src = "../../ui/jquery.ui.widget.js" > < / script >
< script src = "../../ui/jquery.ui.mouse.js" > < / script >
< script src = "../../ui/jquery.ui.draggable.js" > < / script >
< link rel = "stylesheet" href = "../demos.css" >
< style >
2009-02-27 04:06:52 +00:00
.draggable { width: 90px; height: 80px; padding: 5px; float: left; margin: 0 10px 10px 0; 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 >
2010-09-10 13:17:58 +00:00
< script >
2009-01-15 20:17:49 +00:00
$(function() {
2010-09-10 13:17:58 +00:00
$( "#draggable" ).draggable({ snap: true });
$( "#draggable2" ).draggable({ snap: ".ui-widget-header" });
$( "#draggable3" ).draggable({ snap: ".ui-widget-header", snapMode: "outer" });
$( "#draggable4" ).draggable({ grid: [ 20,20 ] });
$( "#draggable5" ).draggable({ grid: [ 80, 80 ] });
2009-01-15 20:17:49 +00:00
});
< / script >
< / head >
< body >
2010-09-10 13:17:58 +00:00
2009-01-15 20:17:49 +00:00
< 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-30 05:13:33 +00:00
< p > I only snap to the outer edges of the big box< / p >
2009-01-15 20:17:49 +00:00
< / 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 -->
2009-01-15 21:57:33 +00:00
2010-09-10 13:17:58 +00:00
< div class = "demo-description" >
< p > Snap the draggable to the inner or outer boundaries of a DOM element. Use the < code > snap< / code > , < code > snapMode< / code > (inner, outer, both), and < code > snapTolerance< / code > (distance in pixels the draggable must be from the element when snapping is invoked) options. < / p >
2009-01-28 10:49:44 +00:00
< p > Or snap the draggable to a grid. Set the dimensions of grid cells (height and width in pixels) with the < code > grid< / code > option.< / p >
2009-01-15 20:17:49 +00:00
< / div > <!-- End demo - description -->
< / body >
< / html >