Skip to main content

Search and Top Navigation

Ticket #5936: default_copy.html
File default_copy.html, 3.9 KB (added by T.Lindig, August 16, 2010 03:31PM UTC)

bug in position plugin

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8" />
	<title>jQuery UI Position - Default functionality</title>
	<link type="text/css" href="../../themes/base/jquery.ui.all.css" rel="stylesheet" />
	<script type="text/javascript" src="../../jquery-1.4.2.js"></script>
	<script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
	<script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
	<script type="text/javascript" src="../../ui/jquery.ui.mouse.js"></script>
	<script type="text/javascript" src="../../ui/jquery.ui.draggable.js"></script>
	<script type="text/javascript" src="../../ui/jquery.ui.position.js"></script>
	<link type="text/css" href="../demos.css" rel="stylesheet" />
	<style type="text/css">

	div#parent {
		width: 60%;
		margin: 10px auto;
		padding: 5px;
		
		border: 1px solid #777;
		background-color: #fbca93;
		text-align: center;
	}

	div.positionable {
		width: 75px;
		height: 75px;
		position: absolute;
		display: block;
		right: 0;
		bottom: 0;
		background-color: #bcd5e6;
		text-align: center;
	}

	select, input {
		margin-left: 15px;
	}

	</style>
	<script type="text/javascript">
	$(function() {
		
		function position(using) {
			$('.positionable').position({
				of: $(document), //$(window) did also not work
				my: $('#my_horizontal').val() + ' ' + $('#my_vertical').val(),
				at: $('#at_horizontal').val() + ' '+ $('#at_vertical').val(),
				offset: $('#offset').val(),
				using: using,
				collision: $("#collision_horizontal").val() + ' ' + $("#collision_vertical").val()
			});
		}
		
		$('.positionable').css("opacity", 0.5);
		
		$(':input').bind('click keyup change', function() { position(); });
		
		$("#parent").draggable({
			drag: function() { position(); }
		});
		
		$('.positionable').draggable({
			drag: function(event, ui) {
				// reset offset before calculating it
				$("#offset").val("0");
				position(function(result) {
					$("#offset").val("" + (ui.offset.left - result.left) + " " + (ui.offset.top - result.top));
					position();
				});
			}
		});
		
		position();
	});
	</script>
	
</head>
<body>

<div class="demo">

<div id="parent">
	<p>
	This is the position parent element.
	</p>
</div>

<div class="positionable">
	<p>
	to position
	</p>
</div>

<div class="positionable" style="width:120px; height: 40px;">
	<p>
	to position 2
	</p>
</div>

<div style="padding: 20px; margin-top: 75px;">
	position...
	<div style="padding-bottom: 20px;">
		<b>my:</b>
		<select id="my_horizontal">
			<option value="left">left</option>
			<option value="center">center</option>
			<option value="right">right</option>
		</select> 
		<select id="my_vertical">
			<option value="top">top</option>
			<option value="middle">center</option>
			<option value="bottom">bottom</option>
		</select>
	</div>
	<div style="padding-bottom: 20px;">
		<b>at:</b>
		<select id="at_horizontal">
			<option value="left">left</option>
			<option value="center">center</option>
			<option value="right">right</option>
		</select>
		<select id="at_vertical">
			<option value="top">top</option>
			<option value="middle">center</option>
			<option value="bottom">bottom</option>
		</select>
	</div>
	<div style="padding-bottom: 20px;">
		<b>offset:</b>
		<input id="offset" type="text" size="15"/>
	</div>
	<div style="padding-bottom: 20px;">
		<b>collision:</b>
		<select id="collision_horizontal">
			<option value="flip">flip</option>
			<option value="fit">fit</option>
			<option value="none">none</option>
		</select>
		<select id="collision_vertical">
			<option value="flip">flip</option>
			<option value="fit">fit</option>
			<option value="none">none</option>
		</select>
	</div>
</div>

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

<div class="demo-description">

<p>Use the form controls to configure the positioning, or drag the positioned element to modify its offset.
<br/>Drag around the parent element to see collision detection in action.</p>

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

</body>
</html>

Download in other formats:

Original Format