jQuery Fixed Position Expression

Get all fixed position elements, fast.

by Ronny

HTML

<div style="position: fixed; top: 2em;">
    fawefawef
</div>

<div style="position: absolute;">
    fawefawef</div>

JavaScript

var pushTop = 34;
(function($){
    $.extend($.expr[':'], { 
        fixed: function(a) { 
            return $(a).css('position') === 'fixed';
        }
    });
    
    $(':fixed:not(.SkipThisFixedPosition)').each(function(i, el){
        var $this = $(el),
            top = $this.css('top'),
            topUnit = parseFloat(top, 10);
        if(top !== 'auto') {
            var newTop = (topUnit + pushTop) + 'px';
            $this.css('top', newTop);
        }
    });
})(jQuery);

console.time('getFixed');
console.log ( $(':fixed') );
console.timeEnd('getFixed');