// JavaScript Document /* Supersized - Fullscreen Slideshow jQuery Plugin By Sam Dunn (www.buildinternet.com // www.onemightyroar.com) Version: supersized.2.0.js // Relase Date: 5/7/09 Website: www.buildinternet.com/project/supersized Thanks to Aen for preloading, fade effect, & vertical centering */ (function($){ //Resize image on ready or resize $.fn.supersized = function() { $.inAnimation = false; $.paused = false; var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options); $(window).bind("load", function(){ $('#loading').hide(); $('#supersize').fadeIn('fast'); $('#content').show(); if ($('#slideshow .activeslide').length == 0) $('#supersize a:first').addClass('activeslide'); if (options.slide_captions == 1) $('#slidecaption').html($('#supersize .activeslide').find('img').attr('title')); if (options.navigation == 0) $('#navigation').hide(); //Slideshow if (options.slideshow == 1){ if (options.slide_counter == 1){ //Initiate slide counter if active $('#slidecounter .slidenumber').html(1); $('#slidecounter .totalslides').html($("#supersize > *").size()); } slideshow_interval = setInterval("nextslide()", options.slide_interval); if (options.navigation == 1){ //Skip if no navigation $('#navigation a').click(function(){ $(this).blur(); return false; }); //Slide Navigation $('#nextslide').click(function() { if($.paused) return false; if($.inAnimation) return false; clearInterval(slideshow_interval); nextslide(); slideshow_interval = setInterval(nextslide, options.slide_interval); return false; }); $('#prevslide').click(function() { if($.paused) return false; if($.inAnimation) return false; clearInterval(slideshow_interval); prevslide(); slideshow_interval = setInterval(nextslide, options.slide_interval); return false; }); $('#nextslide img').hover(function() { if($.paused == true) return false; $(this).attr("src", "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/forward.gif"); }, function(){ if($.paused == true) return false; $(this).attr("src", "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/forward_dull.gif"); }); $('#prevslide img').hover(function() { if($.paused == true) return false; $(this).attr("src", "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/back.gif"); }, function(){ if($.paused == true) return false; $(this).attr("src", "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/back_dull.gif"); }); //Play/Pause Button $('#pauseplay').click(function() { if($.inAnimation) return false; var src = ($(this).find('img').attr("src") === "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/play.gif") ? "images/pause.gif" : "images/play.gif"; if (src == "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/pause.gif"){ $(this).find('img').attr("src", "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/play.gif"); $.paused = false; slideshow_interval = setInterval(nextslide, options.slide_interval); }else{ $(this).find('img').attr("src", "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/pause.gif"); clearInterval(slideshow_interval); $.paused = true; } $(this).find('img').attr("src", src); return false; }); $('#pauseplay').mouseover(function() { var imagecheck = ($(this).find('img').attr("src") === "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/play_dull.gif"); if (imagecheck){ $(this).find('img').attr("src", "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/play.gif"); }else{ $(this).find('img').attr("src", "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/pause.gif"); } }); $('#pauseplay').mouseout(function() { var imagecheck = ($(this).find('img').attr("src") === "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/play.gif"); if (imagecheck){ $(this).find('img').attr("src", "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/play_dull.gif"); }else{ $(this).find('img').attr("src", "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/pause_dull.gif"); } return false; }); } } }); $(document).ready(function() { $('#supersize').resizenow(); }); //Pause when hover on image $('#supersize > *').hover(function() { if (options.slideshow == 1 && options.pause_hover == 1){ if(!($.paused) && options.navigation == 1){ $('#pauseplay > img').attr("src", "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/pause.gif"); clearInterval(slideshow_interval); } } original_title = $(this).find('img').attr("title"); if($.inAnimation) return false; else $(this).find('img').attr("title",""); }, function() { if (options.slideshow == 1 && options.pause_hover == 1){ if(!($.paused) && options.navigation == 1){ $('#pauseplay > img').attr("src", "https://fluencycontent-schoolwebsite.netdna-ssl.com/FileCluster/StClaresOxfordSchool/Templates/js/images/pause_dull.gif"); slideshow_interval = setInterval(nextslide, options.slide_interval); } } $(this).find('img').attr("title", original_title); }); $(window).bind("resize", function(){ $('#supersize').resizenow(); }); $('#supersize').hide(); $('#content').hide(); }; //Adjust image size $.fn.resizenow = function() { var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options); return this.each(function() { //Define image ratio 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(); var offset; //Resize image to proper ratio if ((browserheight/browserwidth) > ratio){ $(this).height(browserheight); $(this).width(browserheight / ratio); $(this).children().height(browserheight); $(this).children().width(browserheight / ratio); } else { $(this).width(browserwidth); $(this).height(browserwidth * ratio); $(this).children().width(browserwidth); $(this).children().height(browserwidth * ratio); } if (options.vertical_center == 1){ $(this).children().css('left', (browserwidth - $(this).width())/2); $(this).children().css('top', (browserheight - $(this).height())/2); } return false; }); }; $.fn.supersized.defaults = { startwidth: 4, startheight: 3, vertical_center: 1, slideshow: 1, navigation:1, transition: 1, //0-None, 1-Fade, 2-slide top, 3-slide right, 4-slide bottom, 5-slide left pause_hover: 0, slide_counter: 1, slide_captions: 1, slide_interval: 5000 }; })(jQuery); //Slideshow Next Slide function nextslide() { if($.inAnimation) return false; else $.inAnimation = true; var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options); var currentslide = $('#supersize .activeslide'); currentslide.removeClass('activeslide'); if ( currentslide.length == 0 ) currentslide = $('#supersize a:last'); var nextslide = currentslide.next().length ? currentslide.next() : $('#supersize a:first'); var prevslide = nextslide.prev().length ? nextslide.prev() : $('#supersize a:last'); //Display slide counter if (options.slide_counter == 1){ var slidecount = $('#slidecounter .slidenumber').html(); currentslide.next().length ? slidecount++ : slidecount = 1; $('#slidecounter .slidenumber').html(slidecount); } $('.prevslide').removeClass('prevslide'); prevslide.addClass('prevslide'); //Captions require img in if (options.slide_captions == 1) $('#slidecaption').html($(nextslide).find('img').attr('title')); nextslide.hide().addClass('activeslide') if (options.transition == 0){ nextslide.show(); $.inAnimation = false; } if (options.transition == 1){ nextslide.fadeIn(750, function(){$.inAnimation = false;}); } if (options.transition == 2){ nextslide.show("slide", { direction: "up" }, 'slow', function(){$.inAnimation = false;}); } if (options.transition == 3){ nextslide.show("slide", { direction: "right" }, 'slow', function(){$.inAnimation = false;}); } if (options.transition == 4){ nextslide.show("slide", { direction: "down" }, 'slow', function(){$.inAnimation = false;}); } if (options.transition == 5){ nextslide.show("slide", { direction: "left" }, 'slow', function(){$.inAnimation = false;}); } $('#supersize').resizenow();//Fix for resize mid-transition } //Slideshow Previous Slide function prevslide() { if($.inAnimation) return false; else $.inAnimation = true; var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options); var currentslide = $('#supersize .activeslide'); currentslide.removeClass('activeslide'); if ( currentslide.length == 0 ) currentslide = $('#supersize a:first'); var nextslide = currentslide.prev().length ? currentslide.prev() : $('#supersize a:last'); var prevslide = nextslide.next().length ? nextslide.next() : $('#supersize a:first'); //Display slide counter if (options.slide_counter == 1){ var slidecount = $('#slidecounter .slidenumber').html(); currentslide.prev().length ? slidecount-- : slidecount = $("#supersize > *").size(); $('#slidecounter .slidenumber').html(slidecount); } $('.prevslide').removeClass('prevslide'); prevslide.addClass('prevslide'); //Captions require img in if (options.slide_captions == 1) $('#slidecaption').html($(nextslide).find('img').attr('title')); nextslide.hide().addClass('activeslide') if (options.transition == 0){ nextslide.show(); $.inAnimation = false; } if (options.transition == 1){ nextslide.fadeIn(750, function(){$.inAnimation = false;}); } if (options.transition == 2){ nextslide.show("slide", { direction: "down" }, 'slow', function(){$.inAnimation = false;}); } if (options.transition == 3){ nextslide.show("slide", { direction: "left" }, 'slow', function(){$.inAnimation = false;}); } if (options.transition == 4){ nextslide.show("slide", { direction: "up" }, 'slow', function(){$.inAnimation = false;}); } if (options.transition == 5){ nextslide.show("slide", { direction: "right" }, 'slow', function(){$.inAnimation = false;}); } $('#supersize').resizenow();//Fix for resize mid-transition }