198 lines
7.8 KiB
JavaScript
198 lines
7.8 KiB
JavaScript
// Navigation Scripts to Show Header on Scroll-Up
|
|
jQuery(document).ready(function($) {
|
|
var MQL = 1170;
|
|
|
|
//primary navigation slide-in effect
|
|
if ($(window).width() > MQL) {
|
|
var headerHeight = $('.header-custom').height();
|
|
$(window).on('scroll', {
|
|
previousTop: 0
|
|
},
|
|
function() {
|
|
var currentTop = $(window).scrollTop();
|
|
//check if user is scrolling up
|
|
if (currentTop < this.previousTop) {
|
|
//if scrolling up...
|
|
if (currentTop > 0 && $('.header-custom').hasClass('is-fixed')) {
|
|
$('.header-custom').addClass('is-visible');
|
|
} else {
|
|
$('.header-custom').removeClass('is-visible is-fixed');
|
|
}
|
|
} else if (currentTop > this.previousTop) {
|
|
//if scrolling down...
|
|
$('.header-custom').removeClass('is-visible');
|
|
if (currentTop > headerHeight && !$('.header-custom').hasClass('is-fixed')) $('.header-custom').addClass('is-fixed');
|
|
}
|
|
this.previousTop = currentTop;
|
|
});
|
|
}
|
|
});
|
|
|
|
|
|
/*global jQuery */
|
|
/*jshint browser:true */
|
|
/*!
|
|
* FitVids 1.1
|
|
*
|
|
* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
|
|
* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
|
|
* Released under the WTFPL license - http://sam.zoy.org/wtfpl/
|
|
*
|
|
*/
|
|
|
|
;(function( $ ){
|
|
|
|
'use strict';
|
|
|
|
$.fn.fitVids = function( options ) {
|
|
var settings = {
|
|
customSelector: null,
|
|
ignore: null
|
|
};
|
|
|
|
if(!document.getElementById('fit-vids-style')) {
|
|
// appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js
|
|
var head = document.head || document.getElementsByTagName('head')[0];
|
|
var css = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';
|
|
var div = document.createElement("div");
|
|
div.innerHTML = '<p>x</p><style id="fit-vids-style">' + css + '</style>';
|
|
head.appendChild(div.childNodes[1]);
|
|
}
|
|
|
|
if ( options ) {
|
|
$.extend( settings, options );
|
|
}
|
|
|
|
return this.each(function(){
|
|
var selectors = [
|
|
'iframe[src*="player.vimeo.com"]',
|
|
'iframe[src*="youtube.com"]',
|
|
'iframe[src*="youtube-nocookie.com"]',
|
|
'iframe[src*="kickstarter.com"][src*="video.html"]',
|
|
'object',
|
|
'embed'
|
|
];
|
|
|
|
if (settings.customSelector) {
|
|
selectors.push(settings.customSelector);
|
|
}
|
|
|
|
var ignoreList = '.fitvidsignore';
|
|
|
|
if(settings.ignore) {
|
|
ignoreList = ignoreList + ', ' + settings.ignore;
|
|
}
|
|
|
|
var $allVideos = $(this).find(selectors.join(','));
|
|
$allVideos = $allVideos.not('object object'); // SwfObj conflict patch
|
|
$allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.
|
|
|
|
$allVideos.each(function(count){
|
|
var $this = $(this);
|
|
if($this.parents(ignoreList).length > 0) {
|
|
return; // Disable FitVids on this video.
|
|
}
|
|
if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }
|
|
if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))
|
|
{
|
|
$this.attr('height', 9);
|
|
$this.attr('width', 16);
|
|
}
|
|
var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),
|
|
width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),
|
|
aspectRatio = height / width;
|
|
if(!$this.attr('id')){
|
|
var videoID = 'fitvid' + count;
|
|
$this.attr('id', videoID);
|
|
}
|
|
$this.wrap('<div class="fluid-width-video-wrapper"></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%');
|
|
$this.removeAttr('height').removeAttr('width');
|
|
});
|
|
});
|
|
};
|
|
// Works with either jQuery or Zepto
|
|
})( window.jQuery || window.Zepto );
|
|
jQuery(document).ready(function(){
|
|
jQuery('.content').fitVids();
|
|
});
|
|
|
|
|
|
/*---------------------------------*/
|
|
/* SCROLL TO TOP
|
|
/*---------------------------------*/
|
|
! function (a, b, c) {
|
|
a.fn.scrollUp = function (b) {
|
|
a.data(c.body, "scrollUp") || (a.data(c.body, "scrollUp", !0), a.fn.scrollUp.init(b))
|
|
}, a.fn.scrollUp.init = function (d) {
|
|
var e = a.fn.scrollUp.settings = a.extend({}, a.fn.scrollUp.defaults, d),
|
|
f = e.scrollTitle ? e.scrollTitle : e.scrollText,
|
|
g = a("<a/>", {
|
|
id: e.scrollName,
|
|
//class: "btn-md btn-theme", //specific to this theme
|
|
href: "#top",
|
|
title: f
|
|
}).appendTo("body");
|
|
e.scrollImg || g.html(e.scrollText), g.css({
|
|
display: "none",
|
|
position: "fixed",
|
|
zIndex: e.zIndex
|
|
}), e.activeOverlay && a("<div/>", {
|
|
id: e.scrollName + "-active"
|
|
}).css({
|
|
position: "absolute",
|
|
top: e.scrollDistance + "px",
|
|
width: "100%",
|
|
borderTop: "1px dotted" + e.activeOverlay,
|
|
zIndex: e.zIndex
|
|
}).appendTo("body"), scrollEvent = a(b).scroll(function () {
|
|
switch (scrollDis = "top" === e.scrollFrom ? e.scrollDistance : a(c).height() - a(b).height() - e.scrollDistance, e.animation) {
|
|
case "fade":
|
|
a(a(b).scrollTop() > scrollDis ? g.fadeIn(e.animationInSpeed) : g.fadeOut(e.animationOutSpeed));
|
|
break;
|
|
case "slide":
|
|
a(a(b).scrollTop() > scrollDis ? g.slideDown(e.animationInSpeed) : g.slideUp(e.animationOutSpeed));
|
|
break;
|
|
default:
|
|
a(a(b).scrollTop() > scrollDis ? g.show(0) : g.hide(0))
|
|
}
|
|
}), g.click(function (b) {
|
|
b.preventDefault(), a("html, body").animate({
|
|
scrollTop: 0
|
|
}, e.topSpeed, e.easingType)
|
|
})
|
|
}, a.fn.scrollUp.defaults = {
|
|
scrollName: "scrollUp",
|
|
scrollDistance: 300,
|
|
scrollFrom: "top",
|
|
scrollSpeed: 300,
|
|
easingType: "linear",
|
|
animation: "fade",
|
|
animationInSpeed: 200,
|
|
animationOutSpeed: 200,
|
|
scrollText: "Scroll to top",
|
|
scrollTitle: !1,
|
|
scrollImg: !1,
|
|
activeOverlay: !1,
|
|
zIndex: 2147483647
|
|
}, a.fn.scrollUp.destroy = function (d) {
|
|
a.removeData(c.body, "scrollUp"), a("#" + a.fn.scrollUp.settings.scrollName).remove(), a("#" + a.fn.scrollUp.settings.scrollName + "-active").remove(), a.fn.jquery.split(".")[1] >= 7 ? a(b).off("scroll", d) : a(b).unbind("scroll", d)
|
|
}, a.scrollUp = a.fn.scrollUp
|
|
}(jQuery, window, document);
|
|
|
|
jQuery(document).ready(function () {
|
|
jQuery.scrollUp({
|
|
scrollName: 'scrollUp', // Element ID
|
|
scrollDistance: 300, // Distance from top/bottom before showing element (px)
|
|
scrollFrom: 'top', // 'top' or 'bottom'
|
|
scrollSpeed: 200, // Speed back to top (ms)
|
|
easingType: 'linear', // Scroll to top easing (see http://easings.net/)
|
|
animation: 'fade', // Fade, slide, none
|
|
animationInSpeed: 100, // Animation in speed (ms)
|
|
animationOutSpeed: 100, // Animation out speed (ms)
|
|
scrollText: '<i class="fa fa-chevron-up"></i>', // Text for element, can contain HTML
|
|
scrollTitle: 'Top', // Set a custom <a> title if required. Defaults to scrollText
|
|
scrollImg: false, // Set true to use image
|
|
activeOverlay: false, // Set CSS color to display scrollUp active point, e.g '#00FFFF'
|
|
zIndex: 1001 // Z-Index for the overlay
|
|
});
|
|
}); |