?
Current Path : /home1/savoy/www/savoyeducation.com/Backup23-11-16/backup/assets/js/ban/ |
Linux gator3171.hostgator.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 |
Current File : /home1/savoy/www/savoyeducation.com/Backup23-11-16/backup/assets/js/ban/responsiveslides.js |
/*! ResponsiveSlides.js v1.32 * http://responsiveslides.com * http://viljamis.com * * Copyright (c) 2011-2012 @viljamis * Available under the MIT license */ /*jslint browser: true, sloppy: true, vars: true, plusplus: true, indent: 2 */ (function ($, window, i) { $.fn.responsiveSlides = function (options) { // Default settings var settings = $.extend({ "auto": true, // Boolean: Animate automatically, true or false "speed": 1000, // Integer: Speed of the transition, in milliseconds "timeout": 4000, // Integer: Time between slide transitions, in milliseconds "pager": false, // Boolean: Show pager, true or false "nav": false, // Boolean: Show navigation, true or false "random": false, // Boolean: Randomize the order of the slides, true or false "pause": false, // Boolean: Pause on hover, true or false "pauseControls": false, // Boolean: Pause when hovering controls, true or false "prevText": "Previous", // String: Text for the "previous" button "nextText": "Next", // String: Text for the "next" button "maxwidth": "", // Integer: Max-width of the slideshow, in pixels "controls": "", // Selector: Where controls should be appended to, default is after the <ul> "namespace": "rslides", // String: change the default namespace used before: function () {}, // Function: Before callback after: function () {} // Function: After callback }, options); return this.each(function () { // Index for namespacing i++; var $this = $(this), // Local variables selectTab, startCycle, restartCycle, rotate, $tabs, // Helpers index = 0, $slide = $this.children(), length = $slide.size(), fadeTime = parseFloat(settings.speed), waitTime = parseFloat(settings.timeout), maxw = parseFloat(settings.maxwidth), // Namespacing namespace = settings.namespace, namespaceIdx = namespace + i, // Classes navClass = namespace + "_nav " + namespaceIdx + "_nav", activeClass = namespace + "_here", visibleClass = namespaceIdx + "_on", slideClassPrefix = namespaceIdx + "_s", // Pager $pager = $("<ul class='" + namespace + "_tabs " + namespaceIdx + "_tabs' />"), // Styles for visible and hidden slides visible = {"float": "left", "position": "relative"}, hidden = {"float": "none", "position": "absolute"}, // Fading animation slideTo = function (idx) { settings.before(); $slide .stop() .fadeOut(fadeTime, function () { $(this) .removeClass(visibleClass) .css(hidden); }) .eq(idx) .fadeIn(fadeTime, function () { $(this) .addClass(visibleClass) .css(visible); settings.after(); index = idx; }); }; // Random order if (settings.random) { $slide.sort(function () { return (Math.round(Math.random()) - 0.5); }); $this .empty() .append($slide); } // Add ID's to each slide $slide.each(function (i) { this.id = slideClassPrefix + i; }); // Add max-width and classes $this.addClass(namespace + " " + namespaceIdx); if (options && options.maxwidth) { $this.css("max-width", maxw); } // Hide all slides, then show first one $slide .hide() .eq(0) .addClass(visibleClass) .css(visible) .show(); // Only run if there's more than one slide if ($slide.size() > 1) { // Make sure the timeout is at least 100ms longer than the fade if (waitTime < fadeTime + 100) { return; } // Pager if (settings.pager) { var tabMarkup = []; $slide.each(function (i) { var n = i + 1; tabMarkup += "<li>" + "<a href='#' class='" + slideClassPrefix + n + "'>" + n + "</a>" + "</li>"; }); $pager.append(tabMarkup); $tabs = $pager.find("a"); // Inject pager if (options.controls) { $(settings.controls).append($pager); } else { $this.after($pager); } // Select pager item selectTab = function (idx) { $tabs .closest("li") .removeClass(activeClass) .eq(idx) .addClass(activeClass); }; } // Auto cycle if (settings.auto) { startCycle = function () { rotate = setInterval(function () { // Clear the event queue $slide.stop(true, true); var idx = index + 1 < length ? index + 1 : 0; // Remove active state and set new if pager is set if (settings.pager) { selectTab(idx); } slideTo(idx); }, waitTime); }; // Init cycle startCycle(); } // Restarting cycle restartCycle = function () { if (settings.auto) { // Stop clearInterval(rotate); // Restart startCycle(); } }; // Pause on hover if (settings.pause) { $this.hover(function () { clearInterval(rotate); }, function () { restartCycle(); }); } // Pager click event handler if (settings.pager) { $tabs.bind("click", function (e) { e.preventDefault(); if (!settings.pauseControls) { restartCycle(); } // Get index of clicked tab var idx = $tabs.index(this); // Break if element is already active or currently animated if (index === idx || $("." + visibleClass + ":animated").length) { return; } // Remove active state from old tab and set new one selectTab(idx); // Do the animation slideTo(idx); }) .eq(0) .closest("li") .addClass(activeClass); // Pause when hovering pager if (settings.pauseControls) { $tabs.hover(function () { clearInterval(rotate); }, function () { restartCycle(); }); } } // Navigation if (settings.nav) { var navMarkup = "<a href='#' class='" + navClass + " prev'>" + settings.prevText + "</a>" + "<a href='#' class='" + navClass + " next'>" + settings.nextText + "</a>"; // Inject navigation if (options.controls) { $(settings.controls).append(navMarkup); } else { $this.after(navMarkup); } var $trigger = $("." + namespaceIdx + "_nav"), $prev = $("." + namespaceIdx + "_nav.prev"); // Click event handler $trigger.bind("click", function (e) { e.preventDefault(); // Prevent clicking if currently animated if ($("." + visibleClass + ":animated").length) { return; } // Adds active class during slide animation // $(this) // .addClass(namespace + "_active") // .delay(fadeTime) // .queue(function (next) { // $(this).removeClass(namespace + "_active"); // next(); // }); // Determine where to slide var idx = $slide.index($("." + visibleClass)), prevIdx = idx - 1, nextIdx = idx + 1 < length ? index + 1 : 0; // Go to slide slideTo($(this)[0] === $prev[0] ? prevIdx : nextIdx); if (settings.pager) { selectTab($(this)[0] === $prev[0] ? prevIdx : nextIdx); } if (!settings.pauseControls) { restartCycle(); } }); // Pause when hovering navigation if (settings.pauseControls) { $trigger.hover(function () { clearInterval(rotate); }, function () { restartCycle(); }); } } } // Max-width fallback if (typeof document.body.style.maxWidth === "undefined" && options.maxwidth) { var widthSupport = function () { $this.css("width", "100%"); if ($this.width() > maxw) { $this.css("width", maxw); } }; // Init fallback widthSupport(); $(window).bind("resize", function () { widthSupport(); }); } }); }; })(jQuery, this, 0);