aboutsummaryrefslogtreecommitdiffstats
path: root/demos/draggable/constrain-movement.html
blob: 997c50af2670b5120732dc79de5114429cef45f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<!doctype html>
<html lang="en">
<head>
	<title>jQuery UI Draggable - Constrain movement</title>
	<link type="text/css" href="../../themes/base/ui.all.css" rel="stylesheet" />
	<script type="text/javascript" src="../../jquery-1.3.js"></script>
	<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">
	.draggable { width: 90px; height: 90px; padding: 0.5em; float: left; margin: 5px; }
	#draggable, #draggable2 { margin-bottom:20px; }
	#draggable { cursor: n-resize; }
	#draggable2 { cursor: e-resize; }
	#containment-wrapper { width:100%; height:150px; border:2px solid #ccc; }
	</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>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>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 <strong>axis</strong> option to limit the draggable's path to the x- or y-axis, or use the <strong>containment</strong> option to specify a parent DOM element or a jQuery selector, like 'document.'
</p>

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