diff options
Diffstat (limited to 'themes/extensions/.svn/text-base/jqt.floaty.js.svn-base')
-rw-r--r-- | themes/extensions/.svn/text-base/jqt.floaty.js.svn-base | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/themes/extensions/.svn/text-base/jqt.floaty.js.svn-base b/themes/extensions/.svn/text-base/jqt.floaty.js.svn-base new file mode 100644 index 0000000..63fb5e6 --- /dev/null +++ b/themes/extensions/.svn/text-base/jqt.floaty.js.svn-base @@ -0,0 +1,92 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda <http://www.davidkaneda.com> + Documentation and issue tracking on Google Code <http://code.google.com/p/jqtouch/> + + Special thanks to Jonathan Stark <http://jonathanstark.com/> + and pinch/zoom <http://www.pinchzoom.com/> + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function Floaty(jQT){ + + $.fn.makeFloaty = function(options){ + var defaults = { + align: 'top', + spacing: 20, + time: '.3s' + } + var settings = $.extend({}, defaults, options); + settings.align = (settings.align == 'top') ? 'top' : 'bottom'; + + return this.each(function(){ + var $el = $(this); + + $el.css({ + '-webkit-transition': 'top ' + settings.time + ' ease-in-out', + 'display': 'block', + 'min-height': '0 !important' + }).data('settings', settings); + + $(document).bind('scroll', function(){ + if ($el.data('floatyVisible') === true) + { + $el.scrollFloaty(); + } + }); + $el.scrollFloaty(); + }); + } + + $.fn.scrollFloaty = function(){ + return this.each(function(){ + var $el = $(this); + var settings = $el.data('settings'); + var wHeight = $('html').attr('clientHeight'); // WRONG + + var newY = window.pageYOffset + + ((settings.align == 'top') ? + settings.spacing : wHeight - settings.spacing - $el.get(0).offsetHeight); + + $el.css('top', newY).data('floatyVisible', true); + }); + } + + $.fn.hideFloaty = function(){ + return this.each(function(){ + var $el = $(this); + var oh = $el.get(0).offsetHeight; + + $el.css('top', -oh-10).data('floatyVisible', false); + }); + } + + $.fn.toggleFloaty = function(){ + return this.each(function(){ + var $el = $(this); + if ($el.data('floatyVisible') === true){ + $el.hideFloaty(); + } + else + { + $el.scrollFloaty(); + } + }); + } + }); + } +})(jQuery);
\ No newline at end of file |