Initial commit
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
.idea
|
||||||
|
*.iml
|
4
.htaccess
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteCond %{HTTPS} off
|
||||||
|
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
|
3
css/app.css
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#maximage div {
|
||||||
|
cursor:pointer;
|
||||||
|
}
|
4194
css/foundation.css
vendored
Normal file
2
css/foundation.min.css
vendored
Normal file
30
css/supersized.css
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
Supersized - Fullscreen Slideshow jQuery Plugin
|
||||||
|
Version : 3.2.7
|
||||||
|
Site : www.buildinternet.com/project/supersized
|
||||||
|
|
||||||
|
Author : Sam Dunn
|
||||||
|
Company : One Mighty Roar (www.onemightyroar.com)
|
||||||
|
License : MIT License / GPL License
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
* { margin:0; padding:0; }
|
||||||
|
body { background:#111; height:100%; }
|
||||||
|
img { border:none; }
|
||||||
|
|
||||||
|
#supersized-loader { position:absolute; top:50%; left:50%; z-index:0; width:60px; height:60px; margin:-30px 0 0 -30px; text-indent:-999em; background:url(../img/progress.gif) no-repeat center center;}
|
||||||
|
|
||||||
|
#supersized { display:block; position:fixed; left:0; top:0; overflow:hidden; z-index:-999; height:100%; width:100%; }
|
||||||
|
#supersized img { width:auto; height:auto; position:relative; display:none; outline:none; border:none; }
|
||||||
|
#supersized.speed img { -ms-interpolation-mode:nearest-neighbor; image-rendering: -moz-crisp-edges; } /*Speed*/
|
||||||
|
#supersized.quality img { -ms-interpolation-mode:bicubic; image-rendering: optimizeQuality; } /*Quality*/
|
||||||
|
|
||||||
|
#supersized li { display:block; list-style:none; z-index:-30; position:fixed; overflow:hidden; top:0; left:0; width:100%; height:100%; background:#111; }
|
||||||
|
#supersized a { width:100%; height:100%; display:block; }
|
||||||
|
#supersized li.prevslide { z-index:-20; }
|
||||||
|
#supersized li.activeslide { z-index:-10; }
|
||||||
|
#supersized li.image-loading { background:#111 url(../img/progress.gif) no-repeat center center; width:100%; height:100%; }
|
||||||
|
#supersized li.image-loading img{ visibility:hidden; }
|
||||||
|
#supersized li.prevslide img, #supersized li.activeslide img{ display:inline; }
|
BIN
img/back.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
img/bg-black.png
Normal file
After Width: | Height: | Size: 1 KiB |
BIN
img/bg-hover.png
Normal file
After Width: | Height: | Size: 960 B |
BIN
img/button-tray-down.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
img/button-tray-up.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
img/forward.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
img/nav-bg.png
Normal file
After Width: | Height: | Size: 995 B |
BIN
img/nav-dot.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
img/pause.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
img/play.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
img/progress-back.png
Normal file
After Width: | Height: | Size: 929 B |
BIN
img/progress-bar.png
Normal file
After Width: | Height: | Size: 929 B |
BIN
img/progress.gif
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
img/samuel.png
Normal file
After Width: | Height: | Size: 84 KiB |
BIN
img/sp-codes.png
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
img/sp-magic.png
Normal file
After Width: | Height: | Size: 4.4 MiB |
BIN
img/supersized-logo.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
img/thumb-back.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
img/thumb-forward.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
90
index.html
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>Samuel Philipp</title>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
|
||||||
|
<link rel="shortcut icon" href="img/samuel.png">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="css/supersized.css" type="text/css" media="screen"/>
|
||||||
|
<link rel="stylesheet" href="theme/supersized.shutter.css" type="text/css" media="screen"/>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="js/vendor/jquery-1.6.1.min.js"></script>
|
||||||
|
<script type="text/javascript" src="js/vendor/jquery.easing.min.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="js/vendor/supersized.3.2.7.min.js"></script>
|
||||||
|
<script type="text/javascript" src="theme/supersized.shutter.min.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
jQuery(function ($) {
|
||||||
|
$.supersized({
|
||||||
|
// Functionality
|
||||||
|
slideshow: 1, // Slideshow on/off
|
||||||
|
autoplay: 1, // Slideshow starts playing automatically
|
||||||
|
start_slide: 1, // Start slide (0 is random)
|
||||||
|
stop_loop: 0, // Pauses slideshow on last slide
|
||||||
|
random: 0, // Randomize slide order (Ignores start slide)
|
||||||
|
slide_interval: 5000, // Length between transitions
|
||||||
|
transition: 1, // 0-None, 1-Fade, 2-Slide Top, 3-Slide Right, 4-Slide Bottom, 5-Slide Left, 6-Carousel Right, 7-Carousel Left
|
||||||
|
transition_speed: 1000, // Speed of transition
|
||||||
|
new_window: 0, // Image links open in new window/tab
|
||||||
|
pause_hover: 0, // Pause slideshow on hover
|
||||||
|
keyboard_nav: 1, // Keyboard navigation on/off
|
||||||
|
performance: 1, // 0-Normal, 1-Hybrid speed/quality, 2-Optimizes image quality, 3-Optimizes transition speed // (Only works for Firefox/IE, not Webkit)
|
||||||
|
image_protect: 1, // Disables image dragging and right click with Javascript
|
||||||
|
|
||||||
|
min_width: 0, // Min width allowed (in pixels)
|
||||||
|
min_height: 0, // Min height allowed (in pixels)
|
||||||
|
vertical_center: 1, // Vertically center background
|
||||||
|
horizontal_center: 1, // Horizontally center background
|
||||||
|
fit_always: 0, // Image will never exceed browser width or height (Ignores min. dimensions)
|
||||||
|
fit_portrait: 1, // Portrait images will not exceed browser height
|
||||||
|
fit_landscape: 0, // Landscape images will not exceed browser width
|
||||||
|
|
||||||
|
// Components
|
||||||
|
slide_links: 'name', // Individual links for each slide (Options: false, 'num', 'name', 'blank')
|
||||||
|
thumb_links: 0, // Individual thumb links for each slide
|
||||||
|
thumbnail_navigation: 0, // Thumbnail navigation
|
||||||
|
slides: [ // Slideshow Images
|
||||||
|
{
|
||||||
|
image: 'img/sp-magic.png',
|
||||||
|
title: 'sp-magic',
|
||||||
|
thumb: 'img/sp-magic.png',
|
||||||
|
url: 'http://sp-magic.de'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
image: 'img/sp-codes.png',
|
||||||
|
title: 'sp-codes',
|
||||||
|
thumb: 'img/sp-codes.png',
|
||||||
|
url: 'http://sp-codes.de'
|
||||||
|
}],
|
||||||
|
|
||||||
|
// Theme Options
|
||||||
|
progress_bar: 1, // Timer for each slide
|
||||||
|
mouse_scrub: 0
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<!-- Piwik -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
var _paq = _paq || [];
|
||||||
|
_paq.push(["setDomains", ["*.samuel-philipp.de"]]);
|
||||||
|
_paq.push(['trackPageView']);
|
||||||
|
_paq.push(['enableLinkTracking']);
|
||||||
|
(function() {
|
||||||
|
var u="//piwik.sp-codes.de/";
|
||||||
|
_paq.push(['setTrackerUrl', u+'piwik.php']);
|
||||||
|
_paq.push(['setSiteId', '2']);
|
||||||
|
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||||
|
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<noscript><p><img src="//piwik.sp-codes.de/piwik.php?idsite=2" style="border:0;" alt="" /></p></noscript>
|
||||||
|
<!-- End Piwik Code -->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!--Arrow Navigation-->
|
||||||
|
<a id="prevslide" class="load-item"></a>
|
||||||
|
<a id="nextslide" class="load-item"></a>
|
||||||
|
</body>
|
||||||
|
</html>
|
20
js/app.js
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// $(document).ready(function () {
|
||||||
|
// $(document).foundation();
|
||||||
|
// });
|
||||||
|
$(function () {
|
||||||
|
$('#maximage').maximage();
|
||||||
|
$('#maximage').children().on('click', function(){
|
||||||
|
// Retrive our URL (set in data-href attribute on img tags)
|
||||||
|
var url = $(this).data('href');
|
||||||
|
|
||||||
|
// If our URL is set, open a new window with that URL
|
||||||
|
// You can certainly use window.location here too
|
||||||
|
if(url.length > 0){
|
||||||
|
window.open(
|
||||||
|
url, // <- This is what we set with the data-href attribute
|
||||||
|
'_blank' // <- This is what makes it open in a new window.
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
9069
js/vendor/foundation.js
vendored
Normal file
4
js/vendor/foundation.min.js
vendored
Normal file
18
js/vendor/jquery-1.6.1.min.js
vendored
Normal file
71
js/vendor/jquery.easing.min.js
vendored
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
/*
|
||||||
|
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
|
||||||
|
*
|
||||||
|
* Uses the built in easing capabilities added In jQuery 1.1
|
||||||
|
* to offer multiple easing options
|
||||||
|
*
|
||||||
|
* TERMS OF USE - jQuery Easing
|
||||||
|
*
|
||||||
|
* Open source under the BSD License.
|
||||||
|
*
|
||||||
|
* Copyright å© 2008 George McGinley Smith
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
* provided with the distribution.
|
||||||
|
*
|
||||||
|
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||||
|
* or promote products derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||||
|
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,f,a,h,g){return jQuery.easing[jQuery.easing.def](e,f,a,h,g)},easeInQuad:function(e,f,a,h,g){return h*(f/=g)*f+a},easeOutQuad:function(e,f,a,h,g){return -h*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f+a}return -h/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,h,g){return h*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,h,g){return h*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f+a}return h/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,h,g){return h*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,h,g){return -h*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+a}return -h/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,h,g){return h*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,h,g){return h*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f*f+a}return h/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,h,g){return -h*Math.cos(f/g*(Math.PI/2))+h+a},easeOutSine:function(e,f,a,h,g){return h*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,h,g){return -h/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,h,g){return(f==0)?a:h*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,h,g){return(f==g)?a+h:h*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,h,g){if(f==0){return a}if(f==g){return a+h}if((f/=g/2)<1){return h/2*Math.pow(2,10*(f-1))+a}return h/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,h,g){return -h*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,h,g){return h*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,h,g){if((f/=g/2)<1){return -h/2*(Math.sqrt(1-f*f)-1)+a}return h/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return -(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e},easeOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return g*Math.pow(2,-10*h)*Math.sin((h*k-i)*(2*Math.PI)/j)+l+e},easeInOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k/2)==2){return e+l}if(!j){j=k*(0.3*1.5)}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}if(h<1){return -0.5*(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e}return g*Math.pow(2,-10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j)*0.5+l+e},easeInBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*(f/=h)*f*((g+1)*f-g)+a},easeOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*((f=f/h-1)*f*((g+1)*f+g)+1)+a},easeInOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}if((f/=h/2)<1){return i/2*(f*f*(((g*=(1.525))+1)*f-g))+a}return i/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+a},easeInBounce:function(e,f,a,h,g){return h-jQuery.easing.easeOutBounce(e,g-f,0,h,g)+a},easeOutBounce:function(e,f,a,h,g){if((f/=g)<(1/2.75)){return h*(7.5625*f*f)+a}else{if(f<(2/2.75)){return h*(7.5625*(f-=(1.5/2.75))*f+0.75)+a}else{if(f<(2.5/2.75)){return h*(7.5625*(f-=(2.25/2.75))*f+0.9375)+a}else{return h*(7.5625*(f-=(2.625/2.75))*f+0.984375)+a}}}},easeInOutBounce:function(e,f,a,h,g){if(f<g/2){return jQuery.easing.easeInBounce(e,f*2,0,h,g)*0.5+a}return jQuery.easing.easeOutBounce(e,f*2-g,0,h,g)*0.5+h*0.5+a}});
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* TERMS OF USE - EASING EQUATIONS
|
||||||
|
*
|
||||||
|
* Open source under the BSD License.
|
||||||
|
*
|
||||||
|
* Copyright å© 2001 Robert Penner
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
* provided with the distribution.
|
||||||
|
*
|
||||||
|
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||||
|
* or promote products derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||||
|
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
*/
|
11
js/vendor/supersized.3.2.7.min.js
vendored
Normal file
295
js/vendor/what-input.js
vendored
Normal file
|
@ -0,0 +1,295 @@
|
||||||
|
window.whatInput = (function() {
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
/*
|
||||||
|
---------------
|
||||||
|
variables
|
||||||
|
---------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
// array of actively pressed keys
|
||||||
|
var activeKeys = [];
|
||||||
|
|
||||||
|
// cache document.body
|
||||||
|
var body;
|
||||||
|
|
||||||
|
// boolean: true if touch buffer timer is running
|
||||||
|
var buffer = false;
|
||||||
|
|
||||||
|
// the last used input type
|
||||||
|
var currentInput = null;
|
||||||
|
|
||||||
|
// `input` types that don't accept text
|
||||||
|
var nonTypingInputs = [
|
||||||
|
'button',
|
||||||
|
'checkbox',
|
||||||
|
'file',
|
||||||
|
'image',
|
||||||
|
'radio',
|
||||||
|
'reset',
|
||||||
|
'submit'
|
||||||
|
];
|
||||||
|
|
||||||
|
// detect version of mouse wheel event to use
|
||||||
|
// via https://developer.mozilla.org/en-US/docs/Web/Events/wheel
|
||||||
|
var mouseWheel = detectWheel();
|
||||||
|
|
||||||
|
// list of modifier keys commonly used with the mouse and
|
||||||
|
// can be safely ignored to prevent false keyboard detection
|
||||||
|
var ignoreMap = [
|
||||||
|
16, // shift
|
||||||
|
17, // control
|
||||||
|
18, // alt
|
||||||
|
91, // Windows key / left Apple cmd
|
||||||
|
93 // Windows menu / right Apple cmd
|
||||||
|
];
|
||||||
|
|
||||||
|
// mapping of events to input types
|
||||||
|
var inputMap = {
|
||||||
|
'keydown': 'keyboard',
|
||||||
|
'keyup': 'keyboard',
|
||||||
|
'mousedown': 'mouse',
|
||||||
|
'mousemove': 'mouse',
|
||||||
|
'MSPointerDown': 'pointer',
|
||||||
|
'MSPointerMove': 'pointer',
|
||||||
|
'pointerdown': 'pointer',
|
||||||
|
'pointermove': 'pointer',
|
||||||
|
'touchstart': 'touch'
|
||||||
|
};
|
||||||
|
|
||||||
|
// add correct mouse wheel event mapping to `inputMap`
|
||||||
|
inputMap[detectWheel()] = 'mouse';
|
||||||
|
|
||||||
|
// array of all used input types
|
||||||
|
var inputTypes = [];
|
||||||
|
|
||||||
|
// mapping of key codes to a common name
|
||||||
|
var keyMap = {
|
||||||
|
9: 'tab',
|
||||||
|
13: 'enter',
|
||||||
|
16: 'shift',
|
||||||
|
27: 'esc',
|
||||||
|
32: 'space',
|
||||||
|
37: 'left',
|
||||||
|
38: 'up',
|
||||||
|
39: 'right',
|
||||||
|
40: 'down'
|
||||||
|
};
|
||||||
|
|
||||||
|
// map of IE 10 pointer events
|
||||||
|
var pointerMap = {
|
||||||
|
2: 'touch',
|
||||||
|
3: 'touch', // treat pen like touch
|
||||||
|
4: 'mouse'
|
||||||
|
};
|
||||||
|
|
||||||
|
// touch buffer timer
|
||||||
|
var timer;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
---------------
|
||||||
|
functions
|
||||||
|
---------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
// allows events that are also triggered to be filtered out for `touchstart`
|
||||||
|
function eventBuffer() {
|
||||||
|
clearTimer();
|
||||||
|
setInput(event);
|
||||||
|
|
||||||
|
buffer = true;
|
||||||
|
timer = window.setTimeout(function() {
|
||||||
|
buffer = false;
|
||||||
|
}, 650);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bufferedEvent(event) {
|
||||||
|
if (!buffer) setInput(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
function unBufferedEvent(event) {
|
||||||
|
clearTimer();
|
||||||
|
setInput(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearTimer() {
|
||||||
|
window.clearTimeout(timer);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setInput(event) {
|
||||||
|
var eventKey = key(event);
|
||||||
|
var value = inputMap[event.type];
|
||||||
|
if (value === 'pointer') value = pointerType(event);
|
||||||
|
|
||||||
|
// don't do anything if the value matches the input type already set
|
||||||
|
if (currentInput !== value) {
|
||||||
|
var eventTarget = target(event);
|
||||||
|
var eventTargetNode = eventTarget.nodeName.toLowerCase();
|
||||||
|
var eventTargetType = (eventTargetNode === 'input') ? eventTarget.getAttribute('type') : null;
|
||||||
|
|
||||||
|
if (
|
||||||
|
(// only if the user flag to allow typing in form fields isn't set
|
||||||
|
!body.hasAttribute('data-whatinput-formtyping') &&
|
||||||
|
|
||||||
|
// only if currentInput has a value
|
||||||
|
currentInput &&
|
||||||
|
|
||||||
|
// only if the input is `keyboard`
|
||||||
|
value === 'keyboard' &&
|
||||||
|
|
||||||
|
// not if the key is `TAB`
|
||||||
|
keyMap[eventKey] !== 'tab' &&
|
||||||
|
|
||||||
|
// only if the target is a form input that accepts text
|
||||||
|
(
|
||||||
|
eventTargetNode === 'textarea' ||
|
||||||
|
eventTargetNode === 'select' ||
|
||||||
|
(eventTargetNode === 'input' && nonTypingInputs.indexOf(eventTargetType) < 0)
|
||||||
|
)) || (
|
||||||
|
// ignore modifier keys
|
||||||
|
ignoreMap.indexOf(eventKey) > -1
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
// ignore keyboard typing
|
||||||
|
} else {
|
||||||
|
switchInput(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (value === 'keyboard') logKeys(eventKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
function switchInput(string) {
|
||||||
|
currentInput = string;
|
||||||
|
body.setAttribute('data-whatinput', currentInput);
|
||||||
|
|
||||||
|
if (inputTypes.indexOf(currentInput) === -1) inputTypes.push(currentInput);
|
||||||
|
}
|
||||||
|
|
||||||
|
function key(event) {
|
||||||
|
return (event.keyCode) ? event.keyCode : event.which;
|
||||||
|
}
|
||||||
|
|
||||||
|
function target(event) {
|
||||||
|
return event.target || event.srcElement;
|
||||||
|
}
|
||||||
|
|
||||||
|
function pointerType(event) {
|
||||||
|
if (typeof event.pointerType === 'number') {
|
||||||
|
return pointerMap[event.pointerType];
|
||||||
|
} else {
|
||||||
|
return (event.pointerType === 'pen') ? 'touch' : event.pointerType; // treat pen like touch
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// keyboard logging
|
||||||
|
function logKeys(eventKey) {
|
||||||
|
if (activeKeys.indexOf(keyMap[eventKey]) === -1 && keyMap[eventKey]) activeKeys.push(keyMap[eventKey]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function unLogKeys(event) {
|
||||||
|
var eventKey = key(event);
|
||||||
|
var arrayPos = activeKeys.indexOf(keyMap[eventKey]);
|
||||||
|
|
||||||
|
if (arrayPos !== -1) activeKeys.splice(arrayPos, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bindEvents() {
|
||||||
|
body = document.body;
|
||||||
|
|
||||||
|
// pointer events (mouse, pen, touch)
|
||||||
|
if (window.PointerEvent) {
|
||||||
|
body.addEventListener('pointerdown', bufferedEvent);
|
||||||
|
body.addEventListener('pointermove', bufferedEvent);
|
||||||
|
} else if (window.MSPointerEvent) {
|
||||||
|
body.addEventListener('MSPointerDown', bufferedEvent);
|
||||||
|
body.addEventListener('MSPointerMove', bufferedEvent);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// mouse events
|
||||||
|
body.addEventListener('mousedown', bufferedEvent);
|
||||||
|
body.addEventListener('mousemove', bufferedEvent);
|
||||||
|
|
||||||
|
// touch events
|
||||||
|
if ('ontouchstart' in window) {
|
||||||
|
body.addEventListener('touchstart', eventBuffer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// mouse wheel
|
||||||
|
body.addEventListener(mouseWheel, bufferedEvent);
|
||||||
|
|
||||||
|
// keyboard events
|
||||||
|
body.addEventListener('keydown', unBufferedEvent);
|
||||||
|
body.addEventListener('keyup', unBufferedEvent);
|
||||||
|
document.addEventListener('keyup', unLogKeys);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
---------------
|
||||||
|
utilities
|
||||||
|
---------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
// detect version of mouse wheel event to use
|
||||||
|
// via https://developer.mozilla.org/en-US/docs/Web/Events/wheel
|
||||||
|
function detectWheel() {
|
||||||
|
return mouseWheel = 'onwheel' in document.createElement('div') ?
|
||||||
|
'wheel' : // Modern browsers support "wheel"
|
||||||
|
|
||||||
|
document.onmousewheel !== undefined ?
|
||||||
|
'mousewheel' : // Webkit and IE support at least "mousewheel"
|
||||||
|
'DOMMouseScroll'; // let's assume that remaining browsers are older Firefox
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
---------------
|
||||||
|
init
|
||||||
|
|
||||||
|
don't start script unless browser cuts the mustard,
|
||||||
|
also passes if polyfills are used
|
||||||
|
---------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (
|
||||||
|
'addEventListener' in window &&
|
||||||
|
Array.prototype.indexOf
|
||||||
|
) {
|
||||||
|
|
||||||
|
// if the dom is already ready already (script was placed at bottom of <body>)
|
||||||
|
if (document.body) {
|
||||||
|
bindEvents();
|
||||||
|
|
||||||
|
// otherwise wait for the dom to load (script was placed in the <head>)
|
||||||
|
} else {
|
||||||
|
document.addEventListener('DOMContentLoaded', bindEvents);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
---------------
|
||||||
|
api
|
||||||
|
---------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
return {
|
||||||
|
|
||||||
|
// returns string: the current input type
|
||||||
|
ask: function() { return currentInput; },
|
||||||
|
|
||||||
|
// returns array: currently pressed keys
|
||||||
|
keys: function() { return activeKeys; },
|
||||||
|
|
||||||
|
// returns array: all the detected input types
|
||||||
|
types: function() { return inputTypes; },
|
||||||
|
|
||||||
|
// accepts string: manually set the input type
|
||||||
|
set: switchInput
|
||||||
|
};
|
||||||
|
|
||||||
|
}());
|
74
theme/supersized.shutter.css
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
Supersized - Fullscreen Slideshow jQuery Plugin
|
||||||
|
Version : 3.2.7
|
||||||
|
Site : www.buildinternet.com/project/supersized
|
||||||
|
|
||||||
|
Theme : Shutter 1.2
|
||||||
|
Author : Sam Dunn
|
||||||
|
Company : One Mighty Roar (www.onemightyroar.com)
|
||||||
|
License : MIT License / GPL License
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Controls Bar
|
||||||
|
----------------------------*/
|
||||||
|
#controls-wrapper { margin:0 auto; height:42px; width:100%; bottom:0px; left:0; z-index:4; background:url(../img/nav-bg.png) repeat-x; position:fixed; }
|
||||||
|
#controls { overflow:hidden; height:100%; position:relative; text-align:left; z-index:5; }
|
||||||
|
#slidecounter { float:left; color:#999; font:14px "Helvetica Neue", Helvetica, Arial, sans-serif; text-shadow:#000 0 -1px 0; margin:0px 10px 0 15px; line-height:42px; }
|
||||||
|
#slidecaption { overflow:hidden; float:left; color:#FFF; font:400 14px "Helvetica Neue", Helvetica, Arial, sans-serif; text-shadow:#000 1px 1px 2px; margin:0 20px 0 0; line-height:42px; }
|
||||||
|
|
||||||
|
#navigation { float:right; margin:0px 20px 0 0; }
|
||||||
|
#play-button{ float:left; margin-top:1px;border-right:1px solid #333; background:url('../img/bg-hover.png') repeat-x 0 44px; }
|
||||||
|
#play-button:hover{ background-position:0 1px; cursor:pointer; }
|
||||||
|
|
||||||
|
#prevslide, #nextslide{ position:absolute; height:43px; width:43px; top:50%; margin-top:-21px; opacity:0.6; }
|
||||||
|
#prevslide{ left:10px; background:url('../img/back.png'); }
|
||||||
|
#nextslide{ right:10px; background:url('../img/forward.png'); }
|
||||||
|
#prevslide:active, #nextslide:active{ margin-top:-19px; }
|
||||||
|
#prevslide:hover, #nextslide:hover{ cursor:pointer; }
|
||||||
|
|
||||||
|
ul#slide-list{ padding:15px 0; float:left; position:absolute; left:50%; }
|
||||||
|
ul#slide-list li{ list-style:none; width:12px; height:12px; float:left; margin:0 5px 0 0; }
|
||||||
|
ul#slide-list li.current-slide a, ul#slide-list li.current-slide a:hover{ background-position:0 0px; }
|
||||||
|
ul#slide-list li a{ display:block; width:12px; height:12px; background:url('../img/nav-dot.png') no-repeat 0 -24px; }
|
||||||
|
ul#slide-list li a:hover{ background-position:0 -12px; cursor:pointer; }
|
||||||
|
|
||||||
|
#tray-button{ float:right; margin-top:1px; border-left:1px solid #333; background:url('../img/bg-hover.png') repeat-x 0 44px; }
|
||||||
|
#tray-button:hover{ background-position:0 1px; cursor:pointer; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Progress Bar
|
||||||
|
----------------------------*/
|
||||||
|
#progress-back{ z-index:5; position:fixed; bottom:42px; left:0; height:8px; width:100%; background:url('../img/progress-back.png') repeat-x; }
|
||||||
|
#progress-bar{ position:relative; height:8px; width:100%; background:url('../img/progress-bar.png') repeat-x; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Thumbnail Navigation
|
||||||
|
----------------------------*/
|
||||||
|
#nextthumb,#prevthumb { z-index:2; display:none; position:fixed; bottom:61px; height:75px; width:100px; overflow:hidden; background:#ddd; border:1px solid #fff; -webkit-box-shadow:0 0 5px #000; }
|
||||||
|
#nextthumb { right:12px; }
|
||||||
|
#prevthumb { left:12px; }
|
||||||
|
#nextthumb img, #prevthumb img { width:150px; height:auto; }
|
||||||
|
#nextthumb:active, #prevthumb:active { bottom:59px; }
|
||||||
|
#nextthumb:hover, #prevthumb:hover { cursor:pointer; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Thumbnail Tray
|
||||||
|
----------------------------*/
|
||||||
|
#thumb-tray{ position:fixed; z-index:3; bottom:0; left:0; background:url(../img/bg-black.png); height:150px; width:100%; overflow:hidden; text-align:center; -moz-box-shadow: 0px 0px 4px #000; -webkit-box-shadow: 0px 0px 4px #000; box-shadow: 0px 0px 4px #000; }
|
||||||
|
|
||||||
|
#thumb-back, #thumb-forward{ position:absolute; z-index:5; bottom:42px; height:108px; width:40px; }
|
||||||
|
#thumb-back{ left:0; background: url('../img/thumb-back.png') no-repeat center center;}
|
||||||
|
#thumb-forward{ right:0; background:url('../img/thumb-forward.png') no-repeat center center;}
|
||||||
|
#thumb-back:hover, #thumb-forward:hover{ cursor:pointer; background-color:rgba(256,256,256, 0.1); }
|
||||||
|
#thumb-back:hover{ border-right:1px solid rgba(256,256,256, 0.2); }
|
||||||
|
#thumb-forward:hover{ border-left:1px solid rgba(256,256,256, 0.2); }
|
||||||
|
|
||||||
|
|
||||||
|
ul#thumb-list{ display:inline-block; list-style:none; position:relative; left:0px; padding:0 0px; }
|
||||||
|
ul#thumb-list li{ background:#111; list-style:none; display:inline; width:150px; height:108px; overflow:hidden; float:left; margin:0; }
|
||||||
|
ul#thumb-list li img { width:200px; height:auto; opacity:0.5; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; filter:alpha(opacity=60); -webkit-transition: all 100ms ease-in-out; -moz-transition: all 100ms ease-in-out; -o-transition: all 100ms ease-in-out; -ms-transition: all 100ms ease-in-out; transition: all 100ms ease-in-out; }
|
||||||
|
ul#thumb-list li.current-thumb img, ul#thumb-list li:hover img{ opacity:1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); }
|
||||||
|
ul#thumb-list li:hover{ cursor:pointer; }
|
||||||
|
|
337
theme/supersized.shutter.js
Normal file
|
@ -0,0 +1,337 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
Supersized - Fullscreen Slideshow jQuery Plugin
|
||||||
|
Version : 3.2.7
|
||||||
|
Theme : Shutter 1.1
|
||||||
|
|
||||||
|
Site : www.buildinternet.com/project/supersized
|
||||||
|
Author : Sam Dunn
|
||||||
|
Company : One Mighty Roar (www.onemightyroar.com)
|
||||||
|
License : MIT License / GPL License
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function($){
|
||||||
|
|
||||||
|
theme = {
|
||||||
|
|
||||||
|
|
||||||
|
/* Initial Placement
|
||||||
|
----------------------------*/
|
||||||
|
_init : function(){
|
||||||
|
|
||||||
|
// Center Slide Links
|
||||||
|
if (api.options.slide_links) $(vars.slide_list).css('margin-left', -$(vars.slide_list).width()/2);
|
||||||
|
|
||||||
|
// Start progressbar if autoplay enabled
|
||||||
|
if (api.options.autoplay){
|
||||||
|
if (api.options.progress_bar) theme.progressBar();
|
||||||
|
}else{
|
||||||
|
if ($(vars.play_button).attr('src')) $(vars.play_button).attr("src", vars.image_path + "play.png"); // If pause play button is image, swap src
|
||||||
|
if (api.options.progress_bar) $(vars.progress_bar).stop().css({left : -$(window).width()}); // Place progress bar
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Thumbnail Tray
|
||||||
|
----------------------------*/
|
||||||
|
// Hide tray off screen
|
||||||
|
$(vars.thumb_tray).css({bottom : -$(vars.thumb_tray).height()});
|
||||||
|
|
||||||
|
// Thumbnail Tray Toggle
|
||||||
|
$(vars.tray_button).toggle(function(){
|
||||||
|
$(vars.thumb_tray).stop().animate({bottom : 0, avoidTransforms : true}, 300 );
|
||||||
|
if ($(vars.tray_arrow).attr('src')) $(vars.tray_arrow).attr("src", vars.image_path + "button-tray-down.png");
|
||||||
|
return false;
|
||||||
|
}, function() {
|
||||||
|
$(vars.thumb_tray).stop().animate({bottom : -$(vars.thumb_tray).height(), avoidTransforms : true}, 300 );
|
||||||
|
if ($(vars.tray_arrow).attr('src')) $(vars.tray_arrow).attr("src", vars.image_path + "button-tray-up.png");
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Make thumb tray proper size
|
||||||
|
$(vars.thumb_list).width($('> li', vars.thumb_list).length * $('> li', vars.thumb_list).outerWidth(true)); //Adjust to true width of thumb markers
|
||||||
|
|
||||||
|
// Display total slides
|
||||||
|
if ($(vars.slide_total).length){
|
||||||
|
$(vars.slide_total).html(api.options.slides.length);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Thumbnail Tray Navigation
|
||||||
|
----------------------------*/
|
||||||
|
if (api.options.thumb_links){
|
||||||
|
//Hide thumb arrows if not needed
|
||||||
|
if ($(vars.thumb_list).width() <= $(vars.thumb_tray).width()){
|
||||||
|
$(vars.thumb_back +','+vars.thumb_forward).fadeOut(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Thumb Intervals
|
||||||
|
vars.thumb_interval = Math.floor($(vars.thumb_tray).width() / $('> li', vars.thumb_list).outerWidth(true)) * $('> li', vars.thumb_list).outerWidth(true);
|
||||||
|
vars.thumb_page = 0;
|
||||||
|
|
||||||
|
// Cycle thumbs forward
|
||||||
|
$(vars.thumb_forward).click(function(){
|
||||||
|
if (vars.thumb_page - vars.thumb_interval <= -$(vars.thumb_list).width()){
|
||||||
|
vars.thumb_page = 0;
|
||||||
|
$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
|
||||||
|
}else{
|
||||||
|
vars.thumb_page = vars.thumb_page - vars.thumb_interval;
|
||||||
|
$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Cycle thumbs backwards
|
||||||
|
$(vars.thumb_back).click(function(){
|
||||||
|
if (vars.thumb_page + vars.thumb_interval > 0){
|
||||||
|
vars.thumb_page = Math.floor($(vars.thumb_list).width() / vars.thumb_interval) * -vars.thumb_interval;
|
||||||
|
if ($(vars.thumb_list).width() <= -vars.thumb_page) vars.thumb_page = vars.thumb_page + vars.thumb_interval;
|
||||||
|
$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
|
||||||
|
}else{
|
||||||
|
vars.thumb_page = vars.thumb_page + vars.thumb_interval;
|
||||||
|
$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Navigation Items
|
||||||
|
----------------------------*/
|
||||||
|
$(vars.next_slide).click(function() {
|
||||||
|
api.nextSlide();
|
||||||
|
});
|
||||||
|
|
||||||
|
$(vars.prev_slide).click(function() {
|
||||||
|
api.prevSlide();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Full Opacity on Hover
|
||||||
|
if(jQuery.support.opacity){
|
||||||
|
$(vars.prev_slide +','+vars.next_slide).mouseover(function() {
|
||||||
|
$(this).stop().animate({opacity:1},100);
|
||||||
|
}).mouseout(function(){
|
||||||
|
$(this).stop().animate({opacity:0.6},100);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (api.options.thumbnail_navigation){
|
||||||
|
// Next thumbnail clicked
|
||||||
|
$(vars.next_thumb).click(function() {
|
||||||
|
api.nextSlide();
|
||||||
|
});
|
||||||
|
// Previous thumbnail clicked
|
||||||
|
$(vars.prev_thumb).click(function() {
|
||||||
|
api.prevSlide();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$(vars.play_button).click(function() {
|
||||||
|
api.playToggle();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/* Thumbnail Mouse Scrub
|
||||||
|
----------------------------*/
|
||||||
|
if (api.options.mouse_scrub){
|
||||||
|
$(vars.thumb_tray).mousemove(function(e) {
|
||||||
|
var containerWidth = $(vars.thumb_tray).width(),
|
||||||
|
listWidth = $(vars.thumb_list).width();
|
||||||
|
if (listWidth > containerWidth){
|
||||||
|
var mousePos = 1,
|
||||||
|
diff = e.pageX - mousePos;
|
||||||
|
if (diff > 10 || diff < -10) {
|
||||||
|
mousePos = e.pageX;
|
||||||
|
newX = (containerWidth - listWidth) * (e.pageX/containerWidth);
|
||||||
|
diff = parseInt(Math.abs(parseInt($(vars.thumb_list).css('left'))-newX )).toFixed(0);
|
||||||
|
$(vars.thumb_list).stop().animate({'left':newX}, {duration:diff*3, easing:'easeOutExpo'});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Window Resize
|
||||||
|
----------------------------*/
|
||||||
|
$(window).resize(function(){
|
||||||
|
|
||||||
|
// Delay progress bar on resize
|
||||||
|
if (api.options.progress_bar && !vars.in_animation){
|
||||||
|
if (vars.slideshow_interval) clearInterval(vars.slideshow_interval);
|
||||||
|
if (api.options.slides.length - 1 > 0) clearInterval(vars.slideshow_interval);
|
||||||
|
|
||||||
|
$(vars.progress_bar).stop().css({left : -$(window).width()});
|
||||||
|
|
||||||
|
if (!vars.progressDelay && api.options.slideshow){
|
||||||
|
// Delay slideshow from resuming so Chrome can refocus images
|
||||||
|
vars.progressDelay = setTimeout(function() {
|
||||||
|
if (!vars.is_paused){
|
||||||
|
theme.progressBar();
|
||||||
|
vars.slideshow_interval = setInterval(api.nextSlide, api.options.slide_interval);
|
||||||
|
}
|
||||||
|
vars.progressDelay = false;
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Thumb Links
|
||||||
|
if (api.options.thumb_links && vars.thumb_tray.length){
|
||||||
|
// Update Thumb Interval & Page
|
||||||
|
vars.thumb_page = 0;
|
||||||
|
vars.thumb_interval = Math.floor($(vars.thumb_tray).width() / $('> li', vars.thumb_list).outerWidth(true)) * $('> li', vars.thumb_list).outerWidth(true);
|
||||||
|
|
||||||
|
// Adjust thumbnail markers
|
||||||
|
if ($(vars.thumb_list).width() > $(vars.thumb_tray).width()){
|
||||||
|
$(vars.thumb_back +','+vars.thumb_forward).fadeIn('fast');
|
||||||
|
$(vars.thumb_list).stop().animate({'left':0}, 200);
|
||||||
|
}else{
|
||||||
|
$(vars.thumb_back +','+vars.thumb_forward).fadeOut('fast');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/* Go To Slide
|
||||||
|
----------------------------*/
|
||||||
|
goTo : function(){
|
||||||
|
if (api.options.progress_bar && !vars.is_paused){
|
||||||
|
$(vars.progress_bar).stop().css({left : -$(window).width()});
|
||||||
|
theme.progressBar();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/* Play & Pause Toggle
|
||||||
|
----------------------------*/
|
||||||
|
playToggle : function(state){
|
||||||
|
|
||||||
|
if (state =='play'){
|
||||||
|
// If image, swap to pause
|
||||||
|
if ($(vars.play_button).attr('src')) $(vars.play_button).attr("src", vars.image_path + "pause.png");
|
||||||
|
if (api.options.progress_bar && !vars.is_paused) theme.progressBar();
|
||||||
|
}else if (state == 'pause'){
|
||||||
|
// If image, swap to play
|
||||||
|
if ($(vars.play_button).attr('src')) $(vars.play_button).attr("src", vars.image_path + "play.png");
|
||||||
|
if (api.options.progress_bar && vars.is_paused)$(vars.progress_bar).stop().css({left : -$(window).width()});
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/* Before Slide Transition
|
||||||
|
----------------------------*/
|
||||||
|
beforeAnimation : function(direction){
|
||||||
|
if (api.options.progress_bar && !vars.is_paused) $(vars.progress_bar).stop().css({left : -$(window).width()});
|
||||||
|
|
||||||
|
/* Update Fields
|
||||||
|
----------------------------*/
|
||||||
|
// Update slide caption
|
||||||
|
if ($(vars.slide_caption).length){
|
||||||
|
(api.getField('title')) ? $(vars.slide_caption).html(api.getField('title')) : $(vars.slide_caption).html('');
|
||||||
|
}
|
||||||
|
// Update slide number
|
||||||
|
if (vars.slide_current.length){
|
||||||
|
$(vars.slide_current).html(vars.current_slide + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Highlight current thumbnail and adjust row position
|
||||||
|
if (api.options.thumb_links){
|
||||||
|
|
||||||
|
$('.current-thumb').removeClass('current-thumb');
|
||||||
|
$('li', vars.thumb_list).eq(vars.current_slide).addClass('current-thumb');
|
||||||
|
|
||||||
|
// If thumb out of view
|
||||||
|
if ($(vars.thumb_list).width() > $(vars.thumb_tray).width()){
|
||||||
|
// If next slide direction
|
||||||
|
if (direction == 'next'){
|
||||||
|
if (vars.current_slide == 0){
|
||||||
|
vars.thumb_page = 0;
|
||||||
|
$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
|
||||||
|
} else if ($('.current-thumb').offset().left - $(vars.thumb_tray).offset().left >= vars.thumb_interval){
|
||||||
|
vars.thumb_page = vars.thumb_page - vars.thumb_interval;
|
||||||
|
$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
|
||||||
|
}
|
||||||
|
// If previous slide direction
|
||||||
|
}else if(direction == 'prev'){
|
||||||
|
if (vars.current_slide == api.options.slides.length - 1){
|
||||||
|
vars.thumb_page = Math.floor($(vars.thumb_list).width() / vars.thumb_interval) * -vars.thumb_interval;
|
||||||
|
if ($(vars.thumb_list).width() <= -vars.thumb_page) vars.thumb_page = vars.thumb_page + vars.thumb_interval;
|
||||||
|
$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
|
||||||
|
} else if ($('.current-thumb').offset().left - $(vars.thumb_tray).offset().left < 0){
|
||||||
|
if (vars.thumb_page + vars.thumb_interval > 0) return false;
|
||||||
|
vars.thumb_page = vars.thumb_page + vars.thumb_interval;
|
||||||
|
$(vars.thumb_list).stop().animate({'left': vars.thumb_page}, {duration:500, easing:'easeOutExpo'});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/* After Slide Transition
|
||||||
|
----------------------------*/
|
||||||
|
afterAnimation : function(){
|
||||||
|
if (api.options.progress_bar && !vars.is_paused) theme.progressBar(); // Start progress bar
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/* Progress Bar
|
||||||
|
----------------------------*/
|
||||||
|
progressBar : function(){
|
||||||
|
$(vars.progress_bar).stop().css({left : -$(window).width()}).animate({ left:0 }, api.options.slide_interval);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* Theme Specific Variables
|
||||||
|
----------------------------*/
|
||||||
|
$.supersized.themeVars = {
|
||||||
|
|
||||||
|
// Internal Variables
|
||||||
|
progress_delay : false, // Delay after resize before resuming slideshow
|
||||||
|
thumb_page : false, // Thumbnail page
|
||||||
|
thumb_interval : false, // Thumbnail interval
|
||||||
|
image_path : 'img/', // Default image path
|
||||||
|
|
||||||
|
// General Elements
|
||||||
|
play_button : '#pauseplay', // Play/Pause button
|
||||||
|
next_slide : '#nextslide', // Next slide button
|
||||||
|
prev_slide : '#prevslide', // Prev slide button
|
||||||
|
next_thumb : '#nextthumb', // Next slide thumb button
|
||||||
|
prev_thumb : '#prevthumb', // Prev slide thumb button
|
||||||
|
|
||||||
|
slide_caption : '#slidecaption', // Slide caption
|
||||||
|
slide_current : '.slidenumber', // Current slide number
|
||||||
|
slide_total : '.totalslides', // Total Slides
|
||||||
|
slide_list : '#slide-list', // Slide jump list
|
||||||
|
|
||||||
|
thumb_tray : '#thumb-tray', // Thumbnail tray
|
||||||
|
thumb_list : '#thumb-list', // Thumbnail list
|
||||||
|
thumb_forward : '#thumb-forward', // Cycles forward through thumbnail list
|
||||||
|
thumb_back : '#thumb-back', // Cycles backwards through thumbnail list
|
||||||
|
tray_arrow : '#tray-arrow', // Thumbnail tray button arrow
|
||||||
|
tray_button : '#tray-button', // Thumbnail tray button
|
||||||
|
|
||||||
|
progress_bar : '#progress-bar' // Progress bar
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Theme Specific Options
|
||||||
|
----------------------------*/
|
||||||
|
$.supersized.themeOptions = {
|
||||||
|
|
||||||
|
progress_bar : 1, // Timer for each slide
|
||||||
|
mouse_scrub : 0 // Thumbnails move with mouse
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
})(jQuery);
|