redmarkets-negotiation/static/js/script.js

151 lines
3.9 KiB
JavaScript
Raw Normal View History

2020-04-19 03:38:31 +00:00
jQuery(function($) {
var body = $('body');
var html = $('html');
var viewport = $(window);
/* ==========================================================================
Menu
========================================================================== */
function menu() {
html.toggleClass('menu-active');
};
$('#menu').on({
'click': function() {
menu();
}
});
$('.menu-button').on({
'click': function() {
menu();
}
});
$('.hidden-close').on({
'click': function() {
menu();
}
});
/* ==========================================================================
Parallax cover
========================================================================== */
var cover = $('.cover');
var coverPosition = 0;
function prlx() {
if(cover.length >= 1) {
var windowPosition = viewport.scrollTop();
(windowPosition > 0) ? coverPosition = Math.floor(windowPosition * 0.25) : coverPosition = 0;
cover.css({
'-webkit-transform' : 'translate3d(0, ' + coverPosition + 'px, 0)',
'transform' : 'translate3d(0, ' + coverPosition + 'px, 0)'
});
(viewport.scrollTop() < cover.height()) ? html.addClass('cover-active') : html.removeClass('cover-active');
}
}
prlx();
viewport.on({
'scroll': function() {
prlx();
},
'resize': function() {
prlx();
},
'orientationchange': function() {
prlx();
}
});
/* ==========================================================================
Reading Progress
========================================================================== */
var post = $('.post-content');
function readingProgress() {
if(post.length >= 1) {
var postBottom = post.offset().top + post.height();
var windowBottom = viewport.scrollTop() + viewport.height();
var progress = 100 - (((postBottom - windowBottom) / (postBottom - viewport.height())) * 100);
$('.progress-bar').css('width', progress + '%');
(progress > 100) ? $('.progress-container').addClass('ready') : $('.progress-container').removeClass('ready');
}
}
readingProgress();
viewport.on({
'scroll': function() {
readingProgress();
},
'resize': function() {
readingProgress();
},
'orientationchange': function() {
readingProgress();
}
});
/* ==========================================================================
Gallery
========================================================================== */
function gallery() {
var images = document.querySelectorAll('.kg-gallery-image img');
images.forEach(function (image) {
var container = image.closest('.kg-gallery-image');
var width = image.attributes.width.value;
var height = image.attributes.height.value;
var ratio = width / height;
container.style.flex = ratio + ' 1 0%';
});
}
gallery();
/* ==========================================================================
Style code blocks with highlight and numbered lines
========================================================================== */
function codestyling() {
$('pre code').each(function(i, e) {
hljs.highlightBlock(e);
if(!$(this).hasClass('language-text')) {
var code = $(this);
var lines = code.html().split(/\n/).length;
var numbers = [];
for (i = 1; i < lines; i++) {
numbers += '<span class="line">' + i + '</span>';
}
code.parent().append('<div class="lines">' + numbers + '</div>');
}
});
}
codestyling();
/* ==========================================================================
Initialize and load Disqus
========================================================================== */
if (typeof disqus === 'undefined') {
$('.post-comments').css({
'display' : 'none'
});
} else {
$('#show-disqus').on('click', function() {
$.ajax({
type: "GET",
url: "//" + disqus + ".disqus.com/embed.js",
dataType: "script",
cache: true
});
$(this).parent().addClass('activated');
});
}
});