diff options
| author | Scott Ostler <scottbot9000@gmail.com> | 2010-08-23 16:02:56 -0400 |
|---|---|---|
| committer | Scott Ostler <scottbot9000@gmail.com> | 2010-08-23 16:02:56 -0400 |
| commit | 3e9161e16068b0347e26438de6fb0cb8692d8173 (patch) | |
| tree | 69ba37589a40d215c61e9864ccdb9811e588e009 /static/js/supersized.js | |
| parent | 82c08bc3cf6191146f10cc3cba605f5226281243 (diff) | |
| parent | 5bc995cc19ea506b7b4888f849b4c1895547cf02 (diff) | |
Merge branch 'master' of ssh://dump.fm/pichat/repo
Diffstat (limited to 'static/js/supersized.js')
| -rw-r--r-- | static/js/supersized.js | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/static/js/supersized.js b/static/js/supersized.js new file mode 100644 index 0000000..7b0e44d --- /dev/null +++ b/static/js/supersized.js @@ -0,0 +1,108 @@ +/* +Supersized - Full Screen Background/Slideshow jQuery Plugin +supersized.1.0.js +February 2009 +By Sam Dunn +www.buildinternet.com / www.onemightyroar.com +*/ +(function($){ + + //Resize image on ready or resize + $.fn.supersized = function() { + + var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options); + + if (options.slideshow == 1){ + setInterval("theslideshow()", options.slideinterval); + } + + $().ready(function() { + $('#supersize').resizenow(); + }); + $(window).bind("resize", function(){ + $('#supersize').resizenow(); + }); + }; + + //Adjust image size + $.fn.resizenow = function() { + + var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options); + + return this.each(function() { + + //Define image ratio & minimum dimensions + var minwidth = options.minsize*(options.startwidth); + var minheight = options.minsize*(options.startheight); + var ratio = options.startheight/options.startwidth; + + //Gather browser and current image size + var imagewidth = $(this).width(); + var imageheight = $(this).height(); + var browserwidth = $(window).width(); + var browserheight = $(window).height(); + + //Check for minimum dimensions + if ((browserheight < minheight) && (browserwidth < minwidth)){ + $(this).height(minheight); + $(this).width(minwidth); + } + else{ + //When browser is taller + if (browserheight > browserwidth){ + imageheight = browserheight; + $(this).height(browserheight); + imagewidth = browserheight/ratio; + $(this).width(imagewidth); + + if (browserwidth > imagewidth){ + imagewidth = browserwidth; + $(this).width(browserwidth); + imageheight = browserwidth * ratio; + $(this).height(imageheight); + } + + } + + //When browser is wider + if (browserwidth >= browserheight){ + imagewidth = browserwidth; + $(this).width(browserwidth); + imageheight = browserwidth * ratio; + $(this).height(imageheight); + + if (browserheight > imageheight){ + imageheight = browserheight; + $(this).height(browserheight); + imagewidth = browserheight/ratio; + $(this).width(imagewidth); + } + } + } + return false; + }); + }; + + $.fn.supersized.defaults = { + startwidth: 640, + startheight: 480, + minsize: .5, + slideshow: 1, + slideinterval: 5000 + }; + +})(jQuery); + +//Slideshow Add-on +function theslideshow() { + + var currentslide = $('#supersize .activeslide'); + + if ( currentslide.length == 0 ) currentslide = $('#supersize :last'); + + var nextslide = currentslide.next().length ? currentslide.next() : $('#supersize :first'); + + nextslide.addClass('activeslide'); + currentslide.removeClass('activeslide'); + +}
\ No newline at end of file |
