ja.son-williams.ca/www/themes/jason-williamsca/assets/javascript/resume.js

46 lines
1.7 KiB
JavaScript

(function($) {
"use strict"; // Start of use strict
// Apply masonry layout to cards
$('.masonry').each(function() {
var opts = { itemSelector: '.masonry-wrapper' };
if ($(this).children().length < 6) opts.horizontalOrder = true;
$(this).masonry(opts);
});
// Add reorder icon to .card-inline
$('.card-inline').prepend('<div class="inline-icon" data-toggle="tooltip" title="Toggle bullet view"><i class="fas fa-stream"></i></div>');
$('.card-inline .inline-icon').click(function() {
var that = $(this);
that.closest('.card').toggleClass('inline').closest('.masonry').masonry();
setTimeout(() => {
that.tooltip('hide');
}, 2000);
});
// Smooth scrolling using jQuery easing
$('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function() {
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
var target = $(this.hash);
var hash = this.hash;
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
if (target.length) {
$('html, body').animate({
scrollTop: (target.offset().top)
}, 1000, "easeInOutExpo");
return false;
}
}
});
// Closes responsive menu when a scroll trigger link is clicked
$('.js-scroll-trigger').click(function() {
$('.navbar-collapse').collapse('hide');
});
// Activate scrollspy to add active class to navbar items on scroll
$('body').scrollspy({
target: '#side-nav'
});
})(jQuery); // End of use strict