r2715 - + Committing nightly update (2009/06/11). The basic outline for the function is fleshed o...

r2715 - + Committing nightly update (2009/06/11). The basic outline for the function is fleshed o...


Author: vtGavin
Date: Thu Jun 11 20:18:54 2009
New Revision: 2715
Modified:
branches/dev/positionTo/demos/positionTo/default.html
branches/dev/positionTo/ui/utils.positionTo.js
Log:
+ Committing nightly update (2009/06/11). The basic outline for the
function is fleshed out now.
Modified: branches/dev/positionTo/demos/positionTo/default.html
==============================================================================
--- branches/dev/positionTo/demos/positionTo/default.html    (original)
+++ branches/dev/positionTo/demos/positionTo/default.html    Thu Jun 11
20:18:54 2009
@@ -29,7 +29,7 @@
right: 0;
bottom: 0;
- background-color: #e2edf4;
+ background-color: #bcd5e6;
text-align: center;
}
</style>
@@ -50,13 +50,13 @@
<div id="positionTo_parent">
    


- This is the positionTo parent element. Whee!
+ This is the positionTo parent element.




</div>
<div id="positionTo_positionable">


- whee!
+ w00t!




</div>
Modified: branches/dev/positionTo/ui/utils.positionTo.js
==============================================================================
--- branches/dev/positionTo/ui/utils.positionTo.js    (original)
+++ branches/dev/positionTo/ui/utils.positionTo.js    Thu Jun 11 20:18:54 2009
@@ -12,28 +12,38 @@
*/
$.fn.positionTo = function(parentElem, options)
{
- var $parentElem = $(parentElem),
- parentOffset = $parentElem.offset();
-
- // calculate parent element coordinates and pad accordingly for any
border styling
- var parentElem_coords = {
- left: parentOffset.left -
parseInt($parentElem.css('border-left-width').replace(/px/, '')),
- right: parentOffset.left + $parentElem.width() +
parseInt($parentElem.css('border-right-width').replace(/px/, '')),
- top: parentOffset.top -
parseInt($parentElem.css('border-top-width').replace(/px/, '')),
- bottom: parentOffset.top + $parentElem.height() +
parseInt($parentElem.css('border-bottom-width').replace(/px/, ''))
- };
-
- // pad the parent boundaries depending on whether any borders have
been applied
- /*parentElem_coords = $.extend({
- left:
- }, parentElem_coords);*/
-
+ var $parentElem = $(parentElem),
+ parentOffset = $parentElem.offset(),
+ // store the border widths (if they exist) for the parent element
+ parentElem_borderWidths = {
+ left:
parseInt($parentElem.css('border-left-width').replace(/px/, '')),
+ right:
parseInt($parentElem.css('border-right-width').replace(/px/, '')),
+ top:
parseInt($parentElem.css('border-top-width').replace(/px/, '')),
+ bottom:
parseInt($parentElem.css('border-bottom-width').replace(/px/, ''))
+ },
+ // calculate parent element coordinates and pad accordingly for
any border styling
+ parentElem_coords = {
+ left: parentOffset.left - parentElem_borderWidths.left,
+ right: parentOffset.left + $parentElem.outerWidth() +
parentElem_borderWidths.right,
+ top: parentOffset.top - parentElem_borderWidths.top,
+ bottom: parentOffset.top + $parentElem.outerHeight() +
parentElem_borderWidths.bottom
+ };
+
+ $('body').append(this);
+
// prep this element for being positioned
this.css('display', 'block')
- .css('position', 'fixed')
+ .css('position', 'absolute')
.css('margin', '0');
- this.css('left', parentElem_coords.right + 'px')
+ /*
+ alert('parentOffset.left = ' + parentOffset.left + "\n"
+ + '$parentElem.outerWidth() = ' + $parentElem.outerWidth() + "\n"
+ + 'positionable.left = ' + (parentElem_coords.right + 1));
+ */
+
+ // !!! arbitrarily position the element
+ this.css('left', (parentElem_coords.right + 1) + 'px')
.css('top', parentElem_coords.top + 'px');
/**