jQuery UI Draggable - Constrain movement : UI Draggable « jQuery « JavaScript Tutorial






<!--
  jQuery UI Effects Blind 1.7.2
 
  Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
  Dual licensed under the MIT (MIT-LICENSE.txt)
  and GPL (GPL-LICENSE.txt) licenses.
 
 
-->
<!doctype html>
<html lang="en">
<head>
  <title>jQuery UI Draggable - Constrain movement</title>
  <link type="text/css" href="js/themes/base/ui.all.css" rel="stylesheet" />
  <script type="text/javascript" src="js/jquery-1.3.2.js"></script>
  <script type="text/javascript" src="js/ui/ui.core.js"></script>
  <script type="text/javascript" src="js/ui/ui.draggable.js"></script>
  <link type="text/css" href="js/demos.css" rel="stylesheet" />
  <style type="text/css">
  .draggable { width: 90px; height: 90px; padding: 0.5em; float: left; margin: 0 10px 10px 0; }
  #draggable, #draggable2 { margin-bottom:20px; }
  #draggable { cursor: n-resize; }
  #draggable2 { cursor: e-resize; }
  #containment-wrapper { width: 95%; height:150px; border:2px solid #ccc; padding: 10px;}
  </style>
  <script type="text/javascript">
  $(function() {
    $("#draggable").draggable({ axis: 'y' });
    $("#draggable2").draggable({ axis: 'x' });
    
    $("#draggable3").draggable({ containment: '#containment-wrapper', scroll: false });
    $("#draggable4").draggable({ containment: '#demo-frame' });
    $("#draggable5").draggable({ containment: 'parent' });

  });
  </script>
</head>
<body>
<div class="demo">

<h3 class="docs">Constrain movement along an axis:</h3>
  
<div id="draggable" class="draggable ui-widget-content">
  <p>I can be dragged only vertically</p>
</div>

<div id="draggable2" class="draggable ui-widget-content">
  <p>I can be dragged only horizontally</p>
</div>

<h3 class="docs">Or to within another DOM element:</h3>
<div id="containment-wrapper">
<div id="draggable3" class="draggable ui-widget-content">
  <p>I'm contained within the box</p>
</div>

<div id="draggable4" class="draggable ui-widget-content">
  <p>I'm contained within the box's parent</p>
</div>

<div class="draggable ui-widget-content">
  <p id="draggable5" class="ui-widget-header">I'm contained within my parent</p>
</div>
</div>

</div><!-- End demo -->

<div class="demo-description">

<p>
Constrain the movement of each draggable by defining the boundaries of the draggable area. Set the <code>axis</code> option to limit the draggable's path to the x- or y-axis, or use the <code>containment</code> option to specify a parent DOM element or a jQuery selector, like 'document.'
</p>

</div><!-- End demo-description -->
</body>
</html>








30.142.UI Draggable
30.142.1.jQuery UI Draggable - Constrain movement
30.142.2.jQuery UI Draggable - Cursor style
30.142.3.jQuery UI Draggable - Default functionality
30.142.4.jQuery UI Draggable - Delay start
30.142.5.jQuery UI Draggable - Events
30.142.6.jQuery UI Draggable - Handles
30.142.7.jQuery UI Draggable - Revert position
30.142.8.jQuery UI Draggable - Auto-scroll
30.142.9.jQuery UI Draggable - Snap to element or grid
30.142.10.jQuery UI Draggable + Sortable
30.142.11.jQuery UI Draggable - Visual feedback
30.142.12.Change cursor for draggable tag
30.142.13.Set cursor position for the draggable
30.142.14.Can only drag along with axis y
30.142.15.Drag delay
30.142.16.Drag along a grid
30.142.17.revert: true (fly back)
30.142.18.Add border to the draggable
30.142.19.Only draggable inside parent
30.142.20.Snap to another
30.142.21.start and stop events
30.142.22.Add dragging stopped event handler
30.142.23.Disable, enable and destroy the draggable object
30.142.24.Set the handles for all directions
30.142.25.Add knobHandles