mirror of
https://github.com/dawidolko/Website-Templates.git
synced 2026-02-04 09:30:05 +00:00
Website templates
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
/*! Backstretch - v2.0.4 - 2013-06-19
|
||||
* http://srobbin.com/jquery-plugins/backstretch/
|
||||
* Copyright (c) 2013 Scott Robbin; Licensed MIT */
|
||||
(function(a,d,p){a.fn.backstretch=function(c,b){(c===p||0===c.length)&&a.error("No images were supplied for Backstretch");0===a(d).scrollTop()&&d.scrollTo(0,0);return this.each(function(){var d=a(this),g=d.data("backstretch");if(g){if("string"==typeof c&&"function"==typeof g[c]){g[c](b);return}b=a.extend(g.options,b);g.destroy(!0)}g=new q(this,c,b);d.data("backstretch",g)})};a.backstretch=function(c,b){return a("body").backstretch(c,b).data("backstretch")};a.expr[":"].backstretch=function(c){return a(c).data("backstretch")!==p};a.fn.backstretch.defaults={centeredX:!0,centeredY:!0,duration:5E3,fade:0};var r={left:0,top:0,overflow:"hidden",margin:0,padding:0,height:"100%",width:"100%",zIndex:-999999},s={position:"absolute",display:"none",margin:0,padding:0,border:"none",width:"auto",height:"auto",maxHeight:"none",maxWidth:"none",zIndex:-999999},q=function(c,b,e){this.options=a.extend({},a.fn.backstretch.defaults,e||{});this.images=a.isArray(b)?b:[b];a.each(this.images,function(){a("<img />")[0].src=this});this.isBody=c===document.body;this.$container=a(c);this.$root=this.isBody?l?a(d):a(document):this.$container;c=this.$container.children(".backstretch").first();this.$wrap=c.length?c:a('<div class="backstretch"></div>').css(r).appendTo(this.$container);this.isBody||(c=this.$container.css("position"),b=this.$container.css("zIndex"),this.$container.css({position:"static"===c?"relative":c,zIndex:"auto"===b?0:b,background:"none"}),this.$wrap.css({zIndex:-999998}));this.$wrap.css({position:this.isBody&&l?"fixed":"absolute"});this.index=0;this.show(this.index);a(d).on("resize.backstretch",a.proxy(this.resize,this)).on("orientationchange.backstretch",a.proxy(function(){this.isBody&&0===d.pageYOffset&&(d.scrollTo(0,1),this.resize())},this))};q.prototype={resize:function(){try{var a={left:0,top:0},b=this.isBody?this.$root.width():this.$root.innerWidth(),e=b,g=this.isBody?d.innerHeight?d.innerHeight:this.$root.height():this.$root.innerHeight(),j=e/this.$img.data("ratio"),f;j>=g?(f=(j-g)/2,this.options.centeredY&&(a.top="-"+f+"px")):(j=g,e=j*this.$img.data("ratio"),f=(e-b)/2,this.options.centeredX&&(a.left="-"+f+"px"));this.$wrap.css({width:b,height:g}).find("img:not(.deleteable)").css({width:e,height:j}).css(a)}catch(h){}return this},show:function(c){if(!(Math.abs(c)>this.images.length-1)){var b=this,e=b.$wrap.find("img").addClass("deleteable"),d={relatedTarget:b.$container[0]};b.$container.trigger(a.Event("backstretch.before",d),[b,c]);this.index=c;clearInterval(b.interval);b.$img=a("<img />").css(s).bind("load",function(f){var h=this.width||a(f.target).width();f=this.height||a(f.target).height();a(this).data("ratio",h/f);a(this).fadeIn(b.options.speed||b.options.fade,function(){e.remove();b.paused||b.cycle();a(["after","show"]).each(function(){b.$container.trigger(a.Event("backstretch."+this,d),[b,c])})});b.resize()}).appendTo(b.$wrap);b.$img.attr("src",b.images[c]);return b}},next:function(){return this.show(this.index<this.images.length-1?this.index+1:0)},prev:function(){return this.show(0===this.index?this.images.length-1:this.index-1)},pause:function(){this.paused=!0;return this},resume:function(){this.paused=!1;this.next();return this},cycle:function(){1<this.images.length&&(clearInterval(this.interval),this.interval=setInterval(a.proxy(function(){this.paused||this.next()},this),this.options.duration));return this},destroy:function(c){a(d).off("resize.backstretch orientationchange.backstretch");clearInterval(this.interval);c||this.$wrap.remove();this.$container.removeData("backstretch")}};var l,f=navigator.userAgent,m=navigator.platform,e=f.match(/AppleWebKit\/([0-9]+)/),e=!!e&&e[1],h=f.match(/Fennec\/([0-9]+)/),h=!!h&&h[1],n=f.match(/Opera Mobi\/([0-9]+)/),t=!!n&&n[1],k=f.match(/MSIE ([0-9]+)/),k=!!k&&k[1];l=!((-1<m.indexOf("iPhone")||-1<m.indexOf("iPad")||-1<m.indexOf("iPod"))&&e&&534>e||d.operamini&&"[object OperaMini]"==={}.toString.call(d.operamini)||n&&7458>t||-1<f.indexOf("Android")&&e&&533>e||h&&6>h||"palmGetResource"in d&&e&&534>e||-1<f.indexOf("MeeGo")&&-1<f.indexOf("NokiaBrowser/8.5.0")||k&&6>=k)})(jQuery,window);
|
||||
6
glips-responsive-free-coming-soon-bootstrap-template/js/bootstrap.min.js
vendored
Normal file
6
glips-responsive-free-coming-soon-bootstrap-template/js/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,115 @@
|
||||
// Custom Script
|
||||
// Developed by: Samson.Onna
|
||||
// CopyRights : http://webthemez.com
|
||||
|
||||
/*
|
||||
Theme by: WebThemez.com
|
||||
Note: Please use our back link in your site
|
||||
*/
|
||||
$( function() {
|
||||
var endDate = "December 28, 2015 15:03:25";
|
||||
|
||||
$('.countdown.simple').countdown({ date: endDate });
|
||||
|
||||
$('.countdown.styled').countdown({
|
||||
date: endDate,
|
||||
render: function(data) {
|
||||
$(this.el).html("<div>" + this.leadingZeros(data.days, 3) + " <span>days</span></div><div>" + this.leadingZeros(data.hours, 2) + " <span>hrs</span></div><div>" + this.leadingZeros(data.min, 2) + " <span>min</span></div><div>" + this.leadingZeros(data.sec, 2) + " <span>sec</span></div>");
|
||||
}
|
||||
});
|
||||
|
||||
$('.countdown.callback').countdown({
|
||||
date: +(new Date) + 10000,
|
||||
render: function(data) {
|
||||
$(this.el).text(this.leadingZeros(data.sec, 2) + " sec");
|
||||
},
|
||||
onEnd: function() {
|
||||
$(this.el).addClass('ended');
|
||||
}
|
||||
}).on("click", function() {
|
||||
$(this).removeClass('ended').data('countdown').update(+(new Date) + 10000).start();
|
||||
});
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
var customScripts = {
|
||||
|
||||
onePageNav: function () {
|
||||
|
||||
$('#mainNav').onePageNav({
|
||||
currentClass: 'active',
|
||||
changeHash: false,
|
||||
scrollSpeed: 950,
|
||||
scrollThreshold: 0.2,
|
||||
filter: '',
|
||||
easing: 'swing',
|
||||
begin: function () {
|
||||
//I get fired when the animation is starting
|
||||
},
|
||||
end: function () {
|
||||
//I get fired when the animation is ending
|
||||
if(!$('#main-nav ul li:first-child').hasClass('active')){
|
||||
$('.header').addClass('addBg');
|
||||
}else{
|
||||
$('.header').removeClass('addBg');
|
||||
}
|
||||
|
||||
},
|
||||
scrollChange: function ($currentListItem) {
|
||||
//I get fired when you enter a section and I pass the list item of the section
|
||||
if(!$('#main-nav ul li:first-child').hasClass('active')){
|
||||
$('.header').addClass('addBg');
|
||||
}else{
|
||||
$('.header').removeClass('addBg');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$("a[href='#top']").click(function () {
|
||||
$("html, body").animate({ scrollTop: 0 }, "slow");
|
||||
return false;
|
||||
});
|
||||
$("a[href='#basics']").click(function () {
|
||||
$("html, body").animate({ scrollTop: $('#services').offset().top}, "slow");
|
||||
return false;
|
||||
});
|
||||
},
|
||||
waySlide: function(){
|
||||
/* Waypoints Animations
|
||||
------------------------------------------------------ */
|
||||
$('#services').waypoint(function() {
|
||||
$('#services .col-md-3').addClass( 'animated fadeInUp show' );
|
||||
}, { offset: 800});
|
||||
$('#aboutUs').waypoint(function() {
|
||||
$('#aboutUs').addClass( 'animated fadeInUp show' );
|
||||
}, { offset: 800});
|
||||
$('#contactUs').waypoint(function() {
|
||||
$('#contactUs .parlex-back').addClass( 'animated fadeInUp show' );
|
||||
}, { offset: 800});
|
||||
|
||||
},
|
||||
init: function () {
|
||||
customScripts.onePageNav();
|
||||
customScripts.waySlide();
|
||||
}
|
||||
}
|
||||
$('document').ready(function () {
|
||||
$.backstretch([
|
||||
"images/img1.jpg"
|
||||
, "images/img2.jpg"
|
||||
, "images/img3.jpg"
|
||||
], {duration: 3000, fade: 1250});
|
||||
|
||||
customScripts.init();
|
||||
$('#services .col-md-3, #features, #aboutUs, #clients, #portfolio, #plans, #contactUs .parlex-back').css('opacity','0');
|
||||
$( "#menuToggle" ).toggle(function() {
|
||||
$(this).find('i').removeClass('fa-bars').addClass('fa-remove');
|
||||
$('#mainNav').animate({"right":"0px"}, "slow");
|
||||
}, function() {
|
||||
$('#mainNav').animate({"right":"-200px"}, "slow");
|
||||
$(this).find('i').removeClass('fa-remove').addClass('fa-bars');
|
||||
});
|
||||
});
|
||||
2
glips-responsive-free-coming-soon-bootstrap-template/js/jquery-1.8.2.min.js
vendored
Normal file
2
glips-responsive-free-coming-soon-bootstrap-template/js/jquery-1.8.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,133 @@
|
||||
// Generated by CoffeeScript 1.4.0
|
||||
|
||||
/*
|
||||
countdown is a simple jquery plugin for countdowns
|
||||
|
||||
Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
|
||||
and GPL-3.0 (http://opensource.org/licenses/GPL-3.0) licenses.
|
||||
|
||||
@source: http://github.com/rendro/countdown/
|
||||
@autor: Robert Fleischmann
|
||||
@version: 1.0.1
|
||||
*/
|
||||
|
||||
|
||||
(function() {
|
||||
|
||||
(function($) {
|
||||
$.countdown = function(el, options) {
|
||||
var getDateData,
|
||||
_this = this;
|
||||
this.el = el;
|
||||
this.$el = $(el);
|
||||
this.$el.data("countdown", this);
|
||||
this.init = function() {
|
||||
_this.options = $.extend({}, $.countdown.defaultOptions, options);
|
||||
if (_this.options.refresh) {
|
||||
_this.interval = setInterval(function() {
|
||||
return _this.render();
|
||||
}, _this.options.refresh);
|
||||
}
|
||||
_this.render();
|
||||
return _this;
|
||||
};
|
||||
getDateData = function(endDate) {
|
||||
var dateData, diff;
|
||||
endDate = Date.parse($.isPlainObject(_this.options.date) ? _this.options.date : new Date(_this.options.date));
|
||||
diff = (endDate - Date.parse(new Date)) / 1000;
|
||||
if (diff <= 0) {
|
||||
diff = 0;
|
||||
if (_this.interval) {
|
||||
_this.stop();
|
||||
}
|
||||
_this.options.onEnd.apply(_this);
|
||||
}
|
||||
dateData = {
|
||||
years: 0,
|
||||
days: 0,
|
||||
hours: 0,
|
||||
min: 0,
|
||||
sec: 0,
|
||||
millisec: 0
|
||||
};
|
||||
if (diff >= (365.25 * 86400)) {
|
||||
dateData.years = Math.floor(diff / (365.25 * 86400));
|
||||
diff -= dateData.years * 365.25 * 86400;
|
||||
}
|
||||
if (diff >= 86400) {
|
||||
dateData.days = Math.floor(diff / 86400);
|
||||
diff -= dateData.days * 86400;
|
||||
}
|
||||
if (diff >= 3600) {
|
||||
dateData.hours = Math.floor(diff / 3600);
|
||||
diff -= dateData.hours * 3600;
|
||||
}
|
||||
if (diff >= 60) {
|
||||
dateData.min = Math.floor(diff / 60);
|
||||
diff -= dateData.min * 60;
|
||||
}
|
||||
dateData.sec = diff;
|
||||
return dateData;
|
||||
};
|
||||
this.leadingZeros = function(num, length) {
|
||||
if (length == null) {
|
||||
length = 2;
|
||||
}
|
||||
num = String(num);
|
||||
while (num.length < length) {
|
||||
num = "0" + num;
|
||||
}
|
||||
return num;
|
||||
};
|
||||
this.update = function(newDate) {
|
||||
_this.options.date = newDate;
|
||||
return _this;
|
||||
};
|
||||
this.render = function() {
|
||||
_this.options.render.apply(_this, [getDateData(_this.options.date)]);
|
||||
return _this;
|
||||
};
|
||||
this.stop = function() {
|
||||
if (_this.interval) {
|
||||
clearInterval(_this.interval);
|
||||
}
|
||||
_this.interval = null;
|
||||
return _this;
|
||||
};
|
||||
this.start = function(refresh) {
|
||||
if (refresh == null) {
|
||||
refresh = _this.options.refresh || $.countdown.defaultOptions.refresh;
|
||||
}
|
||||
if (_this.interval) {
|
||||
clearInterval(_this.interval);
|
||||
}
|
||||
_this.render();
|
||||
_this.options.refresh = refresh;
|
||||
_this.interval = setInterval(function() {
|
||||
return _this.render();
|
||||
}, _this.options.refresh);
|
||||
return _this;
|
||||
};
|
||||
return this.init();
|
||||
};
|
||||
$.countdown.defaultOptions = {
|
||||
date: "June 7, 2087 15:03:25",
|
||||
refresh: 1000,
|
||||
onEnd: $.noop,
|
||||
render: function(date) {
|
||||
return $(this.el).html("" + date.years + " years, " + date.days + " days, " + (this.leadingZeros(date.hours)) + " hours, " + (this.leadingZeros(date.min)) + " min and " + (this.leadingZeros(date.sec)) + " sec");
|
||||
}
|
||||
};
|
||||
$.fn.countdown = function(options) {
|
||||
return $.each(this, function(i, el) {
|
||||
var $el;
|
||||
$el = $(el);
|
||||
if (!$el.data('countdown')) {
|
||||
return $el.data('countdown', new $.countdown(el, options));
|
||||
}
|
||||
});
|
||||
};
|
||||
return void 0;
|
||||
})(jQuery);
|
||||
|
||||
}).call(this);
|
||||
@@ -0,0 +1,43 @@
|
||||
/*global jQuery */
|
||||
/*!
|
||||
* FitText.js 1.1
|
||||
*
|
||||
* Copyright 2011, Dave Rupert http://daverupert.com
|
||||
* Released under the WTFPL license
|
||||
* http://sam.zoy.org/wtfpl/
|
||||
*
|
||||
* Date: Thu May 05 14:23:00 2011 -0600
|
||||
*/
|
||||
|
||||
(function( $ ){
|
||||
|
||||
$.fn.fitText = function( kompressor, options ) {
|
||||
|
||||
// Setup options
|
||||
var compressor = kompressor || 1,
|
||||
settings = $.extend({
|
||||
'minFontSize' : Number.NEGATIVE_INFINITY,
|
||||
'maxFontSize' : Number.POSITIVE_INFINITY
|
||||
}, options);
|
||||
|
||||
return this.each(function(){
|
||||
|
||||
// Store the object
|
||||
var $this = $(this);
|
||||
|
||||
// Resizer() resizes items based on the object width divided by the compressor * 10
|
||||
var resizer = function () {
|
||||
$this.css('font-size', Math.max(Math.min($this.width() / (compressor*10), parseFloat(settings.maxFontSize)), parseFloat(settings.minFontSize)));
|
||||
};
|
||||
|
||||
// Call once to set.
|
||||
resizer();
|
||||
|
||||
// Call on resize. Opera debounces their resize by default.
|
||||
$(window).on('resize.fittext orientationchange.fittext', resizer);
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
})( jQuery );
|
||||
@@ -0,0 +1,226 @@
|
||||
/*
|
||||
* jQuery One Page Nav Plugin
|
||||
* http://github.com/davist11/jQuery-One-Page-Nav
|
||||
*
|
||||
* Copyright (c) 2010 Trevor Davis (http://trevordavis.net)
|
||||
* Dual licensed under the MIT and GPL licenses.
|
||||
* Uses the same license as jQuery, see:
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* @version 3.0.0
|
||||
*
|
||||
* Example usage:
|
||||
* $('#nav').onePageNav({
|
||||
* currentClass: 'current',
|
||||
* changeHash: false,
|
||||
* scrollSpeed: 750
|
||||
* });
|
||||
*/
|
||||
|
||||
; (function ($, window, document, undefined) {
|
||||
|
||||
// our plugin constructor
|
||||
var OnePageNav = function (elem, options) {
|
||||
this.elem = elem;
|
||||
this.$elem = $(elem);
|
||||
this.options = options;
|
||||
this.metadata = this.$elem.data('plugin-options');
|
||||
this.$win = $(window);
|
||||
this.sections = {};
|
||||
this.didScroll = false;
|
||||
this.$doc = $(document);
|
||||
this.docHeight = this.$doc.height();
|
||||
};
|
||||
|
||||
// the plugin prototype
|
||||
OnePageNav.prototype = {
|
||||
defaults: {
|
||||
navItems: 'a',
|
||||
currentClass: 'current',
|
||||
changeHash: false,
|
||||
easing: 'swing',
|
||||
filter: '',
|
||||
navHeight: 0,
|
||||
scrollSpeed: 750,
|
||||
scrollThreshold: 0.5,
|
||||
begin: false,
|
||||
end: false,
|
||||
scrollChange: false
|
||||
},
|
||||
|
||||
init: function () {
|
||||
// Introduce defaults that can be extended either
|
||||
// globally or using an object literal.
|
||||
this.config = $.extend({}, this.defaults, this.options, this.metadata);
|
||||
|
||||
this.$nav = this.$elem.find(this.config.navItems);
|
||||
|
||||
//Filter any links out of the nav
|
||||
if (this.config.filter !== '') {
|
||||
this.$nav = this.$nav.filter(this.config.filter);
|
||||
}
|
||||
|
||||
//Handle clicks on the nav
|
||||
this.$nav.on('click.onePageNav', $.proxy(this.handleClick, this));
|
||||
|
||||
//Get the section positions
|
||||
this.getPositions();
|
||||
|
||||
//Handle scroll changes
|
||||
this.bindInterval();
|
||||
|
||||
//Update the positions on resize too
|
||||
this.$win.on('resize.onePageNav', $.proxy(this.getPositions, this));
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
adjustNav: function (self, $parent) {
|
||||
self.$elem.find('.' + self.config.currentClass).removeClass(self.config.currentClass);
|
||||
$parent.addClass(self.config.currentClass);
|
||||
},
|
||||
|
||||
bindInterval: function () {
|
||||
var self = this;
|
||||
var docHeight;
|
||||
|
||||
self.$win.on('scroll.onePageNav', function () {
|
||||
self.didScroll = true;
|
||||
});
|
||||
|
||||
self.t = setInterval(function () {
|
||||
docHeight = self.$doc.height();
|
||||
|
||||
//If it was scrolled
|
||||
if (self.didScroll) {
|
||||
self.didScroll = false;
|
||||
self.scrollChange();
|
||||
}
|
||||
|
||||
//If the document height changes
|
||||
if (docHeight !== self.docHeight) {
|
||||
self.docHeight = docHeight;
|
||||
self.getPositions();
|
||||
}
|
||||
}, 250);
|
||||
},
|
||||
|
||||
getHash: function ($link) {
|
||||
return $link.attr('href').split('#')[1];
|
||||
},
|
||||
|
||||
getPositions: function () {
|
||||
var self = this;
|
||||
var linkHref;
|
||||
var topPos;
|
||||
var $target;
|
||||
|
||||
self.$nav.each(function () {
|
||||
linkHref = self.getHash($(this));
|
||||
$target = $('#' + linkHref);
|
||||
|
||||
if ($target.length) {
|
||||
topPos = $target.offset().top;
|
||||
|
||||
self.sections[linkHref] = Math.round(topPos);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
getSection: function (windowPos) {
|
||||
var returnValue = null;
|
||||
var windowHeight = Math.round(this.$win.height() * this.config.scrollThreshold);
|
||||
|
||||
|
||||
for (var section in this.sections) {
|
||||
if ((this.sections[section] - windowHeight) < windowPos) {
|
||||
returnValue = section;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return returnValue;
|
||||
},
|
||||
|
||||
handleClick: function (e) {
|
||||
var self = this;
|
||||
var $link = $(e.currentTarget);
|
||||
var $parent = $link.parent();
|
||||
var newLoc = '#' + self.getHash($link);
|
||||
|
||||
if (!$parent.hasClass(self.config.currentClass)) {
|
||||
//Start callback
|
||||
if (self.config.begin) {
|
||||
self.config.begin();
|
||||
}
|
||||
|
||||
//Change the highlighted nav item
|
||||
self.adjustNav(self, $parent);
|
||||
|
||||
//Removing the auto-adjust on scroll
|
||||
self.unbindInterval();
|
||||
|
||||
//Scroll to the correct position
|
||||
self.scrollTo(newLoc, function () {
|
||||
//Do we need to change the hash?
|
||||
if (self.config.changeHash) {
|
||||
window.location.hash = newLoc;
|
||||
}
|
||||
// $('#aboutUs').offset({'top':'60'});
|
||||
//Add the auto-adjust on scroll back in
|
||||
self.bindInterval();
|
||||
|
||||
//End callback
|
||||
if (self.config.end) {
|
||||
self.config.end();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
},
|
||||
|
||||
scrollChange: function () {
|
||||
var windowTop = this.$win.scrollTop();
|
||||
var position = this.getSection(windowTop);
|
||||
var $parent;
|
||||
|
||||
//If the position is set
|
||||
if (position !== null) {
|
||||
$parent = this.$elem.find('a[href$="#' + position + '"]').parent();
|
||||
|
||||
//If it's not already the current section
|
||||
if (!$parent.hasClass(this.config.currentClass)) {
|
||||
//Change the highlighted nav item
|
||||
this.adjustNav(this, $parent);
|
||||
|
||||
//If there is a scrollChange callback
|
||||
if (this.config.scrollChange) {
|
||||
this.config.scrollChange($parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
scrollTo: function (target, callback) {
|
||||
var offset = $(target).offset().top - this.config.navHeight;
|
||||
$('html, body').animate({
|
||||
scrollTop: offset
|
||||
}, this.config.scrollSpeed, this.config.easing, callback);
|
||||
},
|
||||
|
||||
unbindInterval: function () {
|
||||
clearInterval(this.t);
|
||||
this.$win.unbind('scroll.onePageNav');
|
||||
}
|
||||
};
|
||||
|
||||
OnePageNav.defaults = OnePageNav.prototype.defaults;
|
||||
|
||||
$.fn.onePageNav = function (options) {
|
||||
return this.each(function () {
|
||||
new OnePageNav(this, options).init();
|
||||
});
|
||||
};
|
||||
|
||||
})(jQuery, window, document);
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
/*
|
||||
jQuery Waypoints - v1.1.7
|
||||
Copyright (c) 2011-2012 Caleb Troughton
|
||||
Dual licensed under the MIT license and GPL license.
|
||||
https://github.com/imakewebthings/jquery-waypoints/blob/master/MIT-license.txt
|
||||
https://github.com/imakewebthings/jquery-waypoints/blob/master/GPL-license.txt
|
||||
*/
|
||||
(function($,k,m,i,d){var e=$(i),g="waypoint.reached",b=function(o,n){o.element.trigger(g,n);if(o.options.triggerOnce){o.element[k]("destroy")}},h=function(p,o){if(!o){return -1}var n=o.waypoints.length-1;while(n>=0&&o.waypoints[n].element[0]!==p[0]){n-=1}return n},f=[],l=function(n){$.extend(this,{element:$(n),oldScroll:0,waypoints:[],didScroll:false,didResize:false,doScroll:$.proxy(function(){var q=this.element.scrollTop(),p=q>this.oldScroll,s=this,r=$.grep(this.waypoints,function(u,t){return p?(u.offset>s.oldScroll&&u.offset<=q):(u.offset<=s.oldScroll&&u.offset>q)}),o=r.length;if(!this.oldScroll||!q){$[m]("refresh")}this.oldScroll=q;if(!o){return}if(!p){r.reverse()}$.each(r,function(u,t){if(t.options.continuous||u===o-1){b(t,[p?"down":"up"])}})},this)});$(n).bind("scroll.waypoints",$.proxy(function(){if(!this.didScroll){this.didScroll=true;i.setTimeout($.proxy(function(){this.doScroll();this.didScroll=false},this),$[m].settings.scrollThrottle)}},this)).bind("resize.waypoints",$.proxy(function(){if(!this.didResize){this.didResize=true;i.setTimeout($.proxy(function(){$[m]("refresh");this.didResize=false},this),$[m].settings.resizeThrottle)}},this));e.load($.proxy(function(){this.doScroll()},this))},j=function(n){var o=null;$.each(f,function(p,q){if(q.element[0]===n){o=q;return false}});return o},c={init:function(o,n){this.each(function(){var u=$.fn[k].defaults.context,q,t=$(this);if(n&&n.context){u=n.context}if(!$.isWindow(u)){u=t.closest(u)[0]}q=j(u);if(!q){q=new l(u);f.push(q)}var p=h(t,q),s=p<0?$.fn[k].defaults:q.waypoints[p].options,r=$.extend({},s,n);r.offset=r.offset==="bottom-in-view"?function(){var v=$.isWindow(u)?$[m]("viewportHeight"):$(u).height();return v-$(this).outerHeight()}:r.offset;if(p<0){q.waypoints.push({element:t,offset:null,options:r})}else{q.waypoints[p].options=r}if(o){t.bind(g,o)}if(n&&n.handler){t.bind(g,n.handler)}});$[m]("refresh");return this},remove:function(){return this.each(function(o,p){var n=$(p);$.each(f,function(r,s){var q=h(n,s);if(q>=0){s.waypoints.splice(q,1);if(!s.waypoints.length){s.element.unbind("scroll.waypoints resize.waypoints");f.splice(r,1)}}})})},destroy:function(){return this.unbind(g)[k]("remove")}},a={refresh:function(){$.each(f,function(r,s){var q=$.isWindow(s.element[0]),n=q?0:s.element.offset().top,p=q?$[m]("viewportHeight"):s.element.height(),o=q?0:s.element.scrollTop();$.each(s.waypoints,function(u,x){if(!x){return}var t=x.options.offset,w=x.offset;if(typeof x.options.offset==="function"){t=x.options.offset.apply(x.element)}else{if(typeof x.options.offset==="string"){var v=parseFloat(x.options.offset);t=x.options.offset.indexOf("%")?Math.ceil(p*(v/100)):v}}x.offset=x.element.offset().top-n+o-t;if(x.options.onlyOnScroll){return}if(w!==null&&s.oldScroll>w&&s.oldScroll<=x.offset){b(x,["up"])}else{if(w!==null&&s.oldScroll<w&&s.oldScroll>=x.offset){b(x,["down"])}else{if(!w&&s.element.scrollTop()>x.offset){b(x,["down"])}}}});s.waypoints.sort(function(u,t){return u.offset-t.offset})})},viewportHeight:function(){return(i.innerHeight?i.innerHeight:e.height())},aggregate:function(){var n=$();$.each(f,function(o,p){$.each(p.waypoints,function(q,r){n=n.add(r.element)})});return n}};$.fn[k]=function(n){if(c[n]){return c[n].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof n==="function"||!n){return c.init.apply(this,arguments)}else{if(typeof n==="object"){return c.init.apply(this,[null,n])}else{$.error("Method "+n+" does not exist on jQuery "+k)}}}};$.fn[k].defaults={continuous:true,offset:0,triggerOnce:false,context:i};$[m]=function(n){if(a[n]){return a[n].apply(this)}else{return a.aggregate()}};$[m].settings={resizeThrottle:200,scrollThrottle:100};e.load(function(){$[m]("refresh")})})(jQuery,"waypoint","waypoints",window);
|
||||
Reference in New Issue
Block a user