hacks-guide-minimal-mistake.../_assets/js/_main.js

68 lines
2.5 KiB
JavaScript
Raw Normal View History

2014-02-13 20:20:28 +01:00
/*! Responsive Menu */
// http://tympanus.net/codrops/2013/05/08/responsive-retina-ready-menu/
// The function to change the class
var changeClass = function (r,className1,className2) {
var regex = new RegExp("(?:^|\\s+)" + className1 + "(?:\\s+|$)");
if( regex.test(r.className) ) {
r.className = r.className.replace(regex,' '+className2+' ');
}
else{
r.className = r.className.replace(new RegExp("(?:^|\\s+)" + className2 + "(?:\\s+|$)"),' '+className1+' ');
}
return r.className;
2015-04-17 12:43:36 +02:00
};
2014-02-13 20:20:28 +01:00
// Creating our button in JS for smaller screens
var menuElements = document.getElementById('site-nav');
menuElements.insertAdjacentHTML('afterBegin','<button type="button" role="button" id="menutoggle" class="navtoggle navicon-lines-button x" aria-hidden="true"><span class="navicon-lines"></span>menu</button>');
2014-02-13 20:20:28 +01:00
// Toggle the class on click to show / hide the menu
document.getElementById('menutoggle').onclick = function() {
changeClass(this, 'navtoggle active', 'navtoggle');
2014-02-13 20:20:28 +01:00
};
// http://tympanus.net/codrops/2013/05/08/responsive-retina-ready-menu/comment-page-2/#comment-438918
document.onclick = function(e) {
var mobileButton = document.getElementById('menutoggle'),
buttonStyle = mobileButton.currentStyle ? mobileButton.currentStyle.display : getComputedStyle(mobileButton, null).display;
if(buttonStyle === 'block' && e.target !== mobileButton && new RegExp(' ' + 'active' + ' ').test(' ' + mobileButton.className + ' ')) {
changeClass(mobileButton, 'navtoggle active', 'navtoggle');
2014-02-13 20:20:28 +01:00
}
};
2013-09-09 16:12:07 +02:00
/*! Plugin options and other jQuery stuff */
// FitVids options
$(function() {
$("article").fitVids();
});
// Table of Contents toggle
$(function() {
$(".toc h3").click(function () {
2014-10-03 21:14:20 +02:00
$("#drawer").toggleClass("js-hidden");
2013-09-09 16:12:07 +02:00
});
});
// Add lightbox class to all image links
$("a[href$='.jpg'],a[href$='.jpeg'],a[href$='.JPG'],a[href$='.png'],a[href$='.gif']").addClass("image-popup");
2013-09-09 16:12:07 +02:00
// Magnific-Popup options
$(document).ready(function() {
$('.image-popup').magnificPopup({
type: 'image',
tLoading: 'Loading image #%curr%...',
gallery: {
enabled: true,
navigateByImgClick: true,
preload: [0,1] // Will preload 0 - before current, and 1 after the current image
},
image: {
tError: '<a href="%url%">Image #%curr%</a> could not be loaded.',
},
removalDelay: 300, // Delay in milliseconds before popup is removed
2015-04-17 12:43:36 +02:00
// Class that is added to body when popup is open.
2013-09-09 16:12:07 +02:00
// make it unique to apply your CSS animations just to this exact popup
mainClass: 'mfp-fade'
});
2015-04-17 12:43:36 +02:00
});