summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-05-24 07:13:04 +0000
committerDries Buytaert <dries@buytaert.net>2010-05-24 07:13:04 +0000
commit24b02d36b9812a536693fa126c3fa08a147440af (patch)
tree4310c800dfbc88bf6fda9ac6d20ff26d95b0f045 /misc
parent2c39bc8e04c38547a0d3054ba1e196323d69a7df (diff)
downloadbrdo-24b02d36b9812a536693fa126c3fa08a147440af.tar.gz
brdo-24b02d36b9812a536693fa126c3fa08a147440af.tar.bz2
- Rollback of #787940.
Diffstat (limited to 'misc')
-rw-r--r--misc/displace.js115
1 files changed, 0 insertions, 115 deletions
diff --git a/misc/displace.js b/misc/displace.js
deleted file mode 100644
index 261d8accf..000000000
--- a/misc/displace.js
+++ /dev/null
@@ -1,115 +0,0 @@
-// $Id$
-(function ($) {
-
-/**
- * Provides a generic method to position elements fixed to the viewport.
- *
- * Fixed positioning (CSS declaration position:fixed) is done relative to the
- * viewport. This makes it hard to position multiple fixed positioned element
- * relative to each other (e.g. multiple toolbars should come after each other,
- * not on top of each other).
- *
- * To position an element fixed at the top of the viewport add the class
- * "displace-top" to that element, and to position it to the bottom of the view-
- * port add the class "displace-bottom".
- *
- * When a browser doesn't support position:fixed (like IE6) the element gets
- * positioned absolutely by default, but this can be overridden by using the
- * "displace-unsupported" class.
- */
-
-/**
- * Attaches the displace behavior.
- */
-Drupal.behaviors.displace = {
- attach: function (context, settings) {
- // Test for position:fixed support.
- if (!Drupal.positionFixedSupported()) {
- $(document.documentElement).addClass('displace-unsupported');
- }
-
- $(document.body).once('displace', function () {
- $(window).bind('resize.drupal-displace', function () {
- Drupal.displace.clearCache();
-
- $(document.body).css({
- paddingTop: Drupal.displace.getDisplacement('top'),
- paddingBottom: Drupal.displace.getDisplacement('bottom')
- });
- });
- });
-
- Drupal.displace.clearCache(true);
- $(window).triggerHandler('resize');
- }
-};
-
-/**
- * The displace object.
- */
-Drupal.displace = Drupal.displace || {};
-
-Drupal.displace.elements = [];
-Drupal.displace.displacement = [];
-
-/**
- * Get all displaced elements of given region.
- *
- * @param region
- * Region name. Either "top" or "bottom".
- *
- * @return
- * jQuery object containing all displaced elements of given region.
- */
-Drupal.displace.getDisplacedElements = function (region) {
- if (!this.elements[region]) {
- this.elements[region] = $('.displace-' + region);
- }
- return this.elements[region];
-};
-
-/**
- * Get the total displacement of given region.
- *
- * @param region
- * Region name. Either "top" or "bottom".
- *
- * @return
- * The total displacement of given region in pixels.
- */
-Drupal.displace.getDisplacement = function (region) {
- if (!this.displacement[region]) {
- var offset = 0;
- var height = 0;
- this.getDisplacedElements(region).each(function () {
- offset = offset + height;
- height = $(this).css(region, offset).outerHeight();
-
- // In IE, Shadow filter adds some extra height, so we need to remove it
- // from the returned height.
- if (this.filters && this.filters.length && this.filters.item('DXImageTransform.Microsoft.Shadow')) {
- height -= this.filters.item('DXImageTransform.Microsoft.Shadow').strength;
- }
- });
-
- // Use offset of latest displaced element as the total displacement.
- this.displacement[region] = offset + height;
- }
-
- return this.displacement[region];
-};
-
-/**
- * Clear cache.
- *
- * @param selectorCache
- * Boolean whether to also clear the selector cache.
- */
-Drupal.displace.clearCache = function (selectorCache) {
- if (selectorCache) {
- this.elements = [];
- }
- this.displacement = [];
-};
-
-})(jQuery);