]> source.dussan.org Git - jquery-ui.git/commitdiff
Revert "Position: Use absolute positioning when getting scrollbar width to avoid...
authorScott González <scott.gonzalez@gmail.com>
Thu, 16 May 2013 12:32:58 +0000 (08:32 -0400)
committerScott González <scott.gonzalez@gmail.com>
Thu, 16 May 2013 12:32:58 +0000 (08:32 -0400)
This reverts commit 1d3b8ff78eaa3d64a839ba34af34d1e8b24f82af.

demos/position/default.html
ui/jquery.ui.position.js

index f94d316e3ca3d0d3d4309efe1fecc0615e682a4c..ad5a3d874e71930371d87bc052337cb008839776 100644 (file)
        <script src="../../ui/jquery.ui.position.js"></script>
        <link rel="stylesheet" href="../demos.css">
        <style>
-       body {
-           margin: 0;
-           padding: 0;
+       #parent {
+               width: 60%;
+               height: 40px;
+               margin: 10px auto;
+               padding: 5px;
+               border: 1px solid #777;
+               background-color: #fbca93;
+               text-align: center;
        }
-       body > div[style*='display'] {
-           /* Workaround */
-           /* position: absolute; */
+       .positionable {
+               position: absolute;
+               display: block;
+               right: 0;
+               bottom: 0;
+               background-color: #bcd5e6;
+               text-align: center;
        }
-       .blue {
-           background: blue;
-           float: left;
-           width: 100px;
+       #positionable1 {
+               width: 75px;
+               height: 75px;
        }
-       .red {
-           background: red;
-           float: left;
-           overflow-y: hidden;
+       #positionable2 {
+               width: 120px;
+               height: 40px;
        }
-       .content {
-           width: 2000px;
-           height: 400px;
-           border: 2px solid white;
+       select, input {
+               margin-left: 15px;
        }
-       #uiPosition {
-           width: 100px;
-           height: 100px;
-           background: #ccc;
-       }
-
        </style>
        <script>
        $(function() {
-               $( "#redBlock" ).css({
-                   width: $( window ).width() - $( "#blueBlock" ).width()
-               });
-               $( ".block" ).css({
-                   height: $( window ).height()
-               });
+               function position() {
+                       $( ".positionable" ).position({
+                               of: $( "#parent" ),
+                               my: $( "#my_horizontal" ).val() + " " + $( "#my_vertical" ).val(),
+                               at: $( "#at_horizontal" ).val() + " " + $( "#at_vertical" ).val(),
+                               collision: $( "#collision_horizontal" ).val() + " " + $( "#collision_vertical" ).val()
+                       });
+               }
 
-               $( "button" ).on('click', function (e) {
-                   $( "#uiPosition" )
-                       .position({
-                           my: "left top",
-                           at: "left bottom",
-                           of: e.target,
-                           within: $( "#redBlock" ),
-                           collision: "flip"
-                       });
+               $( ".positionable" ).css( "opacity", 0.5 );
+
+               $( "select, input" ).bind( "click keyup change", position );
+
+               $( "#parent" ).draggable({
+                       drag: position
                });
+
+               position();
        });
        </script>
 </head>
 <body>
 
-       <div class="block blue" id="blueBlock"></div>
-       <div class="block red" id="redBlock">
-           <div class="content">
-               <button>Position</button> 
-           </div>     
-       </div>
+<div id="parent">
+       <p>
+       This is the position parent element.
+       </p>
+</div>
+
+<div class="positionable" id="positionable1">
+       <p>
+       to position
+       </p>
+</div>
+
+<div class="positionable" id="positionable2">
+       <p>
+       to position 2
+       </p>
+</div>
 
-       <div id="uiPosition"></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="center">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="center">center</option>
+                       <option value="bottom">bottom</option>
+               </select>
+       </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="flipfit">flipfit</option>
+                       <option value="none">none</option>
+               </select>
+               <select id="collision_vertical">
+                       <option value="flip">flip</option>
+                       <option value="fit">fit</option>
+                       <option value="flipfit">flipfit</option>
+                       <option value="none">none</option>
+               </select>
+       </div>
+</div>
 
+<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>
 </body>
 </html>
index d45b24bb168c0752eee0b5de60b779d9e04ae8d6..2d3451c0693fd4050039bf5bb98bbf99a5a632f3 100644 (file)
@@ -70,7 +70,7 @@ $.position = {
                        return cachedScrollbarWidth;
                }
                var w1, w2,
-                       div = $( "<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ),
+                       div = $( "<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ),
                        innerDiv = div.children()[0];
 
                $( "body" ).append( div );