Вход Регистрация
Файл: includes/jquery/jquery.dimensions.js
Строк: 164
<?php
/* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-09-11 05:38:31 +0300 (Р’С‚, 11 СЃРµРЅ 2007) $
 * $Rev: 3238 $
 *
 * Version: @VERSION
 *
 * Requires: jQuery 1.2+
 */

(function($){
    
$.
dimensions = {
    
version'@VERSION'
};

// Create innerHeight, innerWidth, outerHeight and outerWidth methods
$.each( [ 'Height''Width' ], function(iname){
    
    
// innerHeight and innerWidth
    
$.fn'inner' name ] = function() {
        if (!
this[0]) return;
        
        var 
torl name == 'Height' 'Top'    'Left',  // top or left
            
borr name == 'Height' 'Bottom' 'Right'// bottom or right
        
        
return thisname.toLowerCase() ]() + num(this'padding' torl) + num(this'padding' borr);
    };
    
    
// outerHeight and outerWidth
    
$.fn'outer' name ] = function(options) {
        if (!
this[0]) return;
        
        var 
torl name == 'Height' 'Top'    'Left',  // top or left
            
borr name == 'Height' 'Bottom' 'Right'// bottom or right
        
        
options = $.extend({ marginfalse }, options || {});
        
        return 
thisname.toLowerCase() ]()
                + 
num(this'border' torl 'Width') + num(this'border' borr 'Width')
                + 
num(this'padding' torl) + num(this'padding' borr)
                + (
options.margin ? (num(this'margin' torl) + num(this'margin' borr)) : 0);
    };
});

// Create scrollLeft and scrollTop methods
$.each( ['Left''Top'], function(iname) {
    $.
fn'scroll' name ] = function(val) {
        if (!
this[0]) return;
        
        return 
val != undefined ?
        
            
// Set the scroll offset
            
this.each(function() {
                
this == window || this == document ?
                    
window.scrollTo
                        
name == 'Left' val : $(window)[ 'scrollLeft' ](),
                        
name == 'Top'  val : $(window)[ 'scrollTop'  ]()
                    ) :
                    
this'scroll' name ] = val;
            }) :
            
            
// Return the scroll offset
            
this[0] == window || this[0] == document ?
                
self[ (name == 'Left' 'pageXOffset' 'pageYOffset') ] ||
                    $.
boxModel && document.documentElement'scroll' name ] ||
                    
document.body'scroll' name ] :
                
this[0][ 'scroll' name ];
    };
});

$.
fn.extend({
    
position: function() {
        var 
left 0top 0elem this[0], offsetparentOffsetoffsetParentresults;
        
        if (
elem) {
            
// Get *real* offsetParent
            
offsetParent this.offsetParent();
            
            
// Get correct offsets
            
offset       this.offset();
            
parentOffset offsetParent.offset();
            
            
// Subtract element margins
            
offset.top  -= num(elem'marginTop');
            
offset.left -= num(elem'marginLeft');
            
            
// Add offsetParent borders
            
parentOffset.top  += num(offsetParent'borderTopWidth');
            
parentOffset.left += num(offsetParent'borderLeftWidth');
            
            
// Subtract the two offsets
            
results = {
                
top:  offset.top  parentOffset.top,
                
leftoffset.left parentOffset.left
            
};
        }
        
        return 
results;
    },
    
    
offsetParent: function() {
        var 
offsetParent this[0].offsetParent;
        while ( 
offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && $.css(offsetParent'position') == 'static') )
            
offsetParent offsetParent.offsetParent;
        return $(
offsetParent);
    }
});

var 
num = function(elprop) {
    return 
parseInt($.css(el.jquery?el[0]:el,prop))||0;
};

})(
jQuery);
?>
Онлайн: 0
Реклама