1 /* Source: http://www.webspeaks.in/2011/07/new-gmail-like-floating-toolbar-jquery.html
2 Revision: http://jsfiddle.net/pasmalin/AyjeZ/
4 (function ($, window) {
6 $.fn.fixFloat = function (options) {
7 var options = options || {};
11 originalOffset: tbh.offset().top,
12 originalPosition: tbh.position().top,
14 var originalOffset = typeof options.originalOffset === 'undefined'
15 ? defaults.originalOffset
16 : options.originalOffset;
18 var originalPosition = typeof options.originalPosition === 'undefined'
19 ? defaults.originalPosition
20 : options.originalPosition;
22 options = $.extend(defaults, options);
24 if (tbh.css('position') !== 'absolute') {
25 var tbhBis = tbh.clone();
27 "display": tbh.css("display"),
28 "visibility": "hidden"
30 tbhBis.width(tbh.outerWidth(true));
31 tbhBis.height(tbh.outerHeight(true));
33 tbh.width(tbh.width());
34 var tbl = tbh.find("th,td");
36 tbl.each(function () {
38 $elt.width($elt.outerWidth(true));
42 'position': 'absolute',
43 'top': originalPosition,
47 if (options.enabled) {
48 $(window).scroll(function () {
49 var offsetTop = tbh.offset().top;
51 var s = parseInt($(window).scrollTop(), 10);
53 var fixMe = (s > offsetTop);
54 var repositionMe = (s < originalOffset);
61 tbh.addClass("floating");
65 'position': 'absolute',
66 'top': originalPosition,
69 tbh.removeClass("floating");