diff options
author | Filipp Lepalaan <f@230.to> | 2014-02-19 18:02:09 +0200 |
---|---|---|
committer | Filipp Lepalaan <f@230.to> | 2014-02-19 18:02:09 +0200 |
commit | 75ad7e4bd7d69243e7e5281c2642f00478fb072d (patch) | |
tree | eaaaf360902d369f42d94778aac8803db7973ce0 /apps/it/static/js/ui/demos/draggable | |
parent | cfc7c3f52544af8a71d3fa3988a06fee200d2c24 (diff) | |
download | pudding-75ad7e4bd7d69243e7e5281c2642f00478fb072d.tar.gz pudding-75ad7e4bd7d69243e7e5281c2642f00478fb072d.tar.bz2 pudding-75ad7e4bd7d69243e7e5281c2642f00478fb072d.zip |
Added tags, jquery UI
Diffstat (limited to 'apps/it/static/js/ui/demos/draggable')
-rw-r--r-- | apps/it/static/js/ui/demos/draggable/constrain-movement.html | 58 | ||||
-rw-r--r-- | apps/it/static/js/ui/demos/draggable/cursor-style.html | 42 | ||||
-rw-r--r-- | apps/it/static/js/ui/demos/draggable/default.html | 32 | ||||
-rw-r--r-- | apps/it/static/js/ui/demos/draggable/delay-start.html | 38 | ||||
-rw-r--r-- | apps/it/static/js/ui/demos/draggable/events.html | 70 | ||||
-rw-r--r-- | apps/it/static/js/ui/demos/draggable/handle.html | 41 | ||||
-rw-r--r-- | apps/it/static/js/ui/demos/draggable/index.html | 24 | ||||
-rw-r--r-- | apps/it/static/js/ui/demos/draggable/revert.html | 37 | ||||
-rw-r--r-- | apps/it/static/js/ui/demos/draggable/scroll.html | 44 | ||||
-rw-r--r-- | apps/it/static/js/ui/demos/draggable/snap-to.html | 61 | ||||
-rw-r--r-- | apps/it/static/js/ui/demos/draggable/sortable.html | 50 | ||||
-rw-r--r-- | apps/it/static/js/ui/demos/draggable/visual-feedback.html | 70 |
12 files changed, 567 insertions, 0 deletions
diff --git a/apps/it/static/js/ui/demos/draggable/constrain-movement.html b/apps/it/static/js/ui/demos/draggable/constrain-movement.html new file mode 100644 index 0000000..813fc50 --- /dev/null +++ b/apps/it/static/js/ui/demos/draggable/constrain-movement.html @@ -0,0 +1,58 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Draggable - Constrain movement</title> + <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> + <script src="../../jquery-1.10.2.js"></script> + <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> + .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; } + h3 { clear: left; } + </style> + <script> + $(function() { + $( "#draggable" ).draggable({ axis: "y" }); + $( "#draggable2" ).draggable({ axis: "x" }); + + $( "#draggable3" ).draggable({ containment: "#containment-wrapper", scroll: false }); + $( "#draggable5" ).draggable({ containment: "parent" }); + }); + </script> +</head> +<body> + +<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 class="draggable ui-widget-content"> + <p id="draggable5" class="ui-widget-header">I'm contained within my parent</p> + </div> +</div> + +<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> +</body> +</html> diff --git a/apps/it/static/js/ui/demos/draggable/cursor-style.html b/apps/it/static/js/ui/demos/draggable/cursor-style.html new file mode 100644 index 0000000..e87c75d --- /dev/null +++ b/apps/it/static/js/ui/demos/draggable/cursor-style.html @@ -0,0 +1,42 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Draggable - Cursor style</title> + <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> + <script src="../../jquery-1.10.2.js"></script> + <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> + #draggable, #draggable2, #draggable3 { width: 100px; height: 100px; padding: 0.5em; float: left; margin: 0 10px 10px 0; } + </style> + <script> + $(function() { + $( "#draggable" ).draggable({ cursor: "move", cursorAt: { top: 56, left: 56 } }); + $( "#draggable2" ).draggable({ cursor: "crosshair", cursorAt: { top: -5, left: -5 } }); + $( "#draggable3" ).draggable({ cursorAt: { bottom: 0 } }); + }); + </script> +</head> +<body> + +<div id="draggable" class="ui-widget-content"> + <p>I will always stick to the center (relative to the mouse)</p> +</div> + +<div id="draggable2" class="ui-widget-content"> + <p>My cursor is at left -5 and top -5</p> +</div> + +<div id="draggable3" class="ui-widget-content"> + <p>My cursor position is only controlled for the 'bottom' value</p> +</div> + +<div class="demo-description"> +<p>Position the cursor while dragging the object. By default the cursor appears in the center of the dragged object; use the <code>cursorAt</code> option to specify another location relative to the draggable (specify a pixel value from the top, right, bottom, and/or left). Customize the cursor's appearance by supplying the <code>cursor</code> option with a valid CSS cursor value: default, move, pointer, crosshair, etc.</p> +</div> +</body> +</html> diff --git a/apps/it/static/js/ui/demos/draggable/default.html b/apps/it/static/js/ui/demos/draggable/default.html new file mode 100644 index 0000000..a1f7a91 --- /dev/null +++ b/apps/it/static/js/ui/demos/draggable/default.html @@ -0,0 +1,32 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Draggable - Default functionality</title> + <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> + <script src="../../jquery-1.10.2.js"></script> + <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> + #draggable { width: 150px; height: 150px; padding: 0.5em; } + </style> + <script> + $(function() { + $( "#draggable" ).draggable(); + }); + </script> +</head> +<body> + +<div id="draggable" class="ui-widget-content"> + <p>Drag me around</p> +</div> + +<div class="demo-description"> +<p>Enable draggable functionality on any DOM element. Move the draggable object by clicking on it with the mouse and dragging it anywhere within the viewport.</p> +</div> +</body> +</html> diff --git a/apps/it/static/js/ui/demos/draggable/delay-start.html b/apps/it/static/js/ui/demos/draggable/delay-start.html new file mode 100644 index 0000000..5f45e42 --- /dev/null +++ b/apps/it/static/js/ui/demos/draggable/delay-start.html @@ -0,0 +1,38 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Draggable - Delay start</title> + <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> + <script src="../../jquery-1.10.2.js"></script> + <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> + #draggable, #draggable2 { width: 120px; height: 120px; padding: 0.5em; float: left; margin: 0 10px 10px 0; } + </style> + <script> + $(function() { + $( "#draggable" ).draggable({ distance: 20 }); + $( "#draggable2" ).draggable({ delay: 1000 }); + $( ".ui-draggable" ).disableSelection(); + }); + </script> +</head> +<body> + +<div id="draggable" class="ui-widget-content"> + <p>Only if you drag me by 20 pixels, the dragging will start</p> +</div> + +<div id="draggable2" class="ui-widget-content"> + <p>Regardless of the distance, you have to drag and wait for 1000ms before dragging starts</p> +</div> + +<div class="demo-description"> +<p>Delay the start of dragging for a number of milliseconds with the <code>delay</code> option; prevent dragging until the cursor is held down and dragged a specifed number of pixels with the <code>distance</code> option. </p> +</div> +</body> +</html> diff --git a/apps/it/static/js/ui/demos/draggable/events.html b/apps/it/static/js/ui/demos/draggable/events.html new file mode 100644 index 0000000..9949a4c --- /dev/null +++ b/apps/it/static/js/ui/demos/draggable/events.html @@ -0,0 +1,70 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Draggable - Events</title> + <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> + <script src="../../jquery-1.10.2.js"></script> + <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> + #draggable { width: 16em; padding: 0 1em; } + #draggable ul li { margin: 1em 0; padding: 0.5em 0; } * html #draggable ul li { height: 1%; } + #draggable ul li span.ui-icon { float: left; } + #draggable ul li span.count { font-weight: bold; } + </style> + <script> + $(function() { + var $start_counter = $( "#event-start" ), + $drag_counter = $( "#event-drag" ), + $stop_counter = $( "#event-stop" ), + counts = [ 0, 0, 0 ]; + + $( "#draggable" ).draggable({ + start: function() { + counts[ 0 ]++; + updateCounterStatus( $start_counter, counts[ 0 ] ); + }, + drag: function() { + counts[ 1 ]++; + updateCounterStatus( $drag_counter, counts[ 1 ] ); + }, + stop: function() { + counts[ 2 ]++; + updateCounterStatus( $stop_counter, counts[ 2 ] ); + } + }); + + function updateCounterStatus( $event_counter, new_count ) { + // first update the status visually... + if ( !$event_counter.hasClass( "ui-state-hover" ) ) { + $event_counter.addClass( "ui-state-hover" ) + .siblings().removeClass( "ui-state-hover" ); + } + // ...then update the numbers + $( "span.count", $event_counter ).text( new_count ); + } + }); + </script> +</head> +<body> + +<div id="draggable" class="ui-widget ui-widget-content"> + + <p>Drag me to trigger the chain of events.</p> + + <ul class="ui-helper-reset"> + <li id="event-start" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-play"></span>"start" invoked <span class="count">0</span>x</li> + <li id="event-drag" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-arrow-4"></span>"drag" invoked <span class="count">0</span>x</li> + <li id="event-stop" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-stop"></span>"stop" invoked <span class="count">0</span>x</li> + </ul> +</div> + +<div class="demo-description"> +<p>Layer functionality onto the draggable using the <code>start</code>, <code>drag</code>, and <code>stop</code> events. Start is fired at the start of the drag; drag during the drag; and stop when dragging stops.</p> +</div> +</body> +</html> diff --git a/apps/it/static/js/ui/demos/draggable/handle.html b/apps/it/static/js/ui/demos/draggable/handle.html new file mode 100644 index 0000000..31dabc4 --- /dev/null +++ b/apps/it/static/js/ui/demos/draggable/handle.html @@ -0,0 +1,41 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Draggable - Handles</title> + <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> + <script src="../../jquery-1.10.2.js"></script> + <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> + #draggable, #draggable2 { width: 100px; height: 100px; padding: 0.5em; float: left; margin: 0 10px 10px 0; } + #draggable p { cursor: move; } + </style> + <script> + $(function() { + $( "#draggable" ).draggable({ handle: "p" }); + $( "#draggable2" ).draggable({ cancel: "p.ui-widget-header" }); + $( "div, p" ).disableSelection(); + }); + </script> +</head> +<body> + +<div id="draggable" class="ui-widget-content"> + <p class="ui-widget-header">I can be dragged only by this handle</p> +</div> + +<div id="draggable2" class="ui-widget-content"> + <p>You can drag me around…</p> + <p class="ui-widget-header">…but you can't drag me by this handle.</p> +</div> + +<div class="demo-description"> +<p>Allow dragging only when the cursor is over a specific part of the draggable. Use the <code>handle</code> option to specify the jQuery selector of an element (or group of elements) used to drag the object.</p> +<p>Or prevent dragging when the cursor is over a specific element (or group of elements) within the draggable. Use the <code>cancel</code> option to specify a jQuery selector over which to "cancel" draggable functionality.</p> +</div> +</body> +</html> diff --git a/apps/it/static/js/ui/demos/draggable/index.html b/apps/it/static/js/ui/demos/draggable/index.html new file mode 100644 index 0000000..9385068 --- /dev/null +++ b/apps/it/static/js/ui/demos/draggable/index.html @@ -0,0 +1,24 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Draggable Demos</title> +</head> +<body> + +<ul> + <li><a href="default.html">Default functionality</a></li> + <li><a href="events.html">Events</a></li> + <li><a href="constrain-movement.html">Constrain movement</a></li> + <li><a href="delay-start.html">Delay start</a></li> + <li><a href="snap-to.html">Snap to element or grid</a></li> + <li><a href="scroll.html">Auto-scroll</a></li> + <li><a href="revert.html">Revert position</a></li> + <li><a href="visual-feedback.html">Visual feedback</a></li> + <li><a href="handle.html">Drag handle</a></li> + <li><a href="cursor-style.html">Cursor style</a></li> + <li><a href="sortable.html">Draggable + Sortable</a></li> +</ul> + +</body> +</html> diff --git a/apps/it/static/js/ui/demos/draggable/revert.html b/apps/it/static/js/ui/demos/draggable/revert.html new file mode 100644 index 0000000..58282e7 --- /dev/null +++ b/apps/it/static/js/ui/demos/draggable/revert.html @@ -0,0 +1,37 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Draggable - Revert position</title> + <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> + <script src="../../jquery-1.10.2.js"></script> + <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> + #draggable, #draggable2 { width: 100px; height: 100px; padding: 0.5em; float: left; margin: 0 10px 10px 0; } + </style> + <script> + $(function() { + $( "#draggable" ).draggable({ revert: true }); + $( "#draggable2" ).draggable({ revert: true, helper: "clone" }); + }); + </script> +</head> +<body> + +<div id="draggable" class="ui-widget-content"> + <p>Revert the original</p> +</div> + +<div id="draggable2" class="ui-widget-content"> + <p>Revert the helper</p> +</div> + +<div class="demo-description"> +<p>Return the draggable (or it's helper) to its original location when dragging stops with the boolean <code>revert</code> option.</p> +</div> +</body> +</html> diff --git a/apps/it/static/js/ui/demos/draggable/scroll.html b/apps/it/static/js/ui/demos/draggable/scroll.html new file mode 100644 index 0000000..38b4404 --- /dev/null +++ b/apps/it/static/js/ui/demos/draggable/scroll.html @@ -0,0 +1,44 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Draggable - Auto-scroll</title> + <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> + <script src="../../jquery-1.10.2.js"></script> + <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> + #draggable, #draggable2, #draggable3 { width: 100px; height: 100px; padding: 0.5em; float: left; margin: 0 10px 10px 0; } + </style> + <script> + $(function() { + $( "#draggable" ).draggable({ scroll: true }); + $( "#draggable2" ).draggable({ scroll: true, scrollSensitivity: 100 }); + $( "#draggable3" ).draggable({ scroll: true, scrollSpeed: 100 }); + }); + </script> +</head> +<body> + +<div id="draggable" class="ui-widget-content"> + <p>Scroll set to true, default settings</p> +</div> + +<div id="draggable2" class="ui-widget-content"> + <p>scrollSensitivity set to 100</p> +</div> + +<div id="draggable3" class="ui-widget-content"> + <p>scrollSpeed set to 100</p> +</div> + +<div style='height: 5000px; width: 1px;'></div> + +<div class="demo-description"> +<p>Automatically scroll the document when the draggable is moved beyond the viewport. Set the <code>scroll</code> option to true to enable auto-scrolling, and fine-tune when scrolling is triggered and its speed with the <code>scrollSensitivity</code> and <code>scrollSpeed</code> options.</p> +</div> +</body> +</html> diff --git a/apps/it/static/js/ui/demos/draggable/snap-to.html b/apps/it/static/js/ui/demos/draggable/snap-to.html new file mode 100644 index 0000000..8b2a887 --- /dev/null +++ b/apps/it/static/js/ui/demos/draggable/snap-to.html @@ -0,0 +1,61 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Draggable - Snap to element or grid</title> + <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> + <script src="../../jquery-1.10.2.js"></script> + <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> + .draggable { width: 90px; height: 80px; padding: 5px; float: left; margin: 0 10px 10px 0; font-size: .9em; } + .ui-widget-header p, .ui-widget-content p { margin: 0; } + #snaptarget { height: 140px; } + </style> + <script> + $(function() { + $( "#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 ] }); + }); + </script> +</head> +<body> + +<div id="snaptarget" class="ui-widget-header"> + <p>I'm a snap target</p> +</div> + +<br style="clear:both" /> + +<div id="draggable" class="draggable ui-widget-content"> + <p>Default (snap: true), snaps to all other draggable elements</p> +</div> + +<div id="draggable2" class="draggable ui-widget-content"> + <p>I only snap to the big box</p> +</div> + +<div id="draggable3" class="draggable ui-widget-content"> + <p>I only snap to the outer edges of the big box</p> +</div> + +<div id="draggable4" class="draggable ui-widget-content"> + <p>I snap to a 20 x 20 grid</p> +</div> + +<div id="draggable5" class="draggable ui-widget-content"> + <p>I snap to a 80 x 80 grid</p> +</div> + +<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> +<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> +</div> +</body> +</html> diff --git a/apps/it/static/js/ui/demos/draggable/sortable.html b/apps/it/static/js/ui/demos/draggable/sortable.html new file mode 100644 index 0000000..09bb6c4 --- /dev/null +++ b/apps/it/static/js/ui/demos/draggable/sortable.html @@ -0,0 +1,50 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Draggable + Sortable</title> + <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> + <script src="../../jquery-1.10.2.js"></script> + <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> + <script src="../../ui/jquery.ui.sortable.js"></script> + <link rel="stylesheet" href="../demos.css"> + <style> + ul { list-style-type: none; margin: 0; padding: 0; margin-bottom: 10px; } + li { margin: 5px; padding: 5px; width: 150px; } + </style> + <script> + $(function() { + $( "#sortable" ).sortable({ + revert: true + }); + $( "#draggable" ).draggable({ + connectToSortable: "#sortable", + helper: "clone", + revert: "invalid" + }); + $( "ul, li" ).disableSelection(); + }); + </script> +</head> +<body> + +<ul> + <li id="draggable" class="ui-state-highlight">Drag me down</li> +</ul> + +<ul id="sortable"> + <li class="ui-state-default">Item 1</li> + <li class="ui-state-default">Item 2</li> + <li class="ui-state-default">Item 3</li> + <li class="ui-state-default">Item 4</li> + <li class="ui-state-default">Item 5</li> +</ul> + +<div class="demo-description"> +<p>Draggables are built to interact seamlessly with <a href="http://jqueryui.com/sortable">sortables</a>.</p> +</div> +</body> +</html> diff --git a/apps/it/static/js/ui/demos/draggable/visual-feedback.html b/apps/it/static/js/ui/demos/draggable/visual-feedback.html new file mode 100644 index 0000000..253a26d --- /dev/null +++ b/apps/it/static/js/ui/demos/draggable/visual-feedback.html @@ -0,0 +1,70 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Draggable - Visual feedback</title> + <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> + <script src="../../jquery-1.10.2.js"></script> + <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> + #draggable, #draggable2, #draggable3, #set div { width: 90px; height: 90px; padding: 0.5em; float: left; margin: 0 10px 10px 0; } + #draggable, #draggable2, #draggable3 { margin-bottom:20px; } + #set { clear:both; float:left; width: 368px; height: 120px; } + p { clear:both; margin:0; padding:1em 0; } + </style> + <script> + $(function() { + $( "#draggable" ).draggable({ helper: "original" }); + $( "#draggable2" ).draggable({ opacity: 0.7, helper: "clone" }); + $( "#draggable3" ).draggable({ + cursor: "move", + cursorAt: { top: -12, left: -20 }, + helper: function( event ) { + return $( "<div class='ui-widget-header'>I'm a custom helper</div>" ); + } + }); + $( "#set div" ).draggable({ stack: "#set div" }); + }); + </script> +</head> +<body> + +<h3 class="docs">With helpers:</h3> + +<div id="draggable" class="ui-widget-content"> + <p>Original</p> +</div> + +<div id="draggable2" class="ui-widget-content"> + <p>Semi-transparent clone</p> +</div> + +<div id="draggable3" class="ui-widget-content"> + <p>Custom helper (in combination with cursorAt)</p> +</div> + +<h3 class="docs">Stacked:</h3> +<div id="set"> + <div class="ui-widget-content"> + <p>We are draggables..</p> + </div> + + <div class="ui-widget-content"> + <p>..whose z-indexes are controlled automatically..</p> + </div> + + <div class="ui-widget-content"> + <p>..with the stack option.</p> + </div> +</div> + +<div class="demo-description"> +<p>Provide feedback to users as they drag an object in the form of a helper. The <code>helper</code> option accepts the values 'original' (the draggable object moves with the cursor), 'clone' (a duplicate of the draggable moves with the cursor), or a function that returns a DOM element (that element is shown near the cursor during drag). Control the helper's transparency with the <code>opacity</code> option.</p> +<p>To clarify which draggable is in play, bring the draggable in motion to front. Use the <code>zIndex</code> option to set a higher z-index for the helper, if in play, or use the <code>stack</code> option to ensure that the last item dragged will appear on top of others in the same group on drag stop.</p> +</div> +</body> +</html> |