site progress
This commit is contained in:
parent
e4c5ca4af0
commit
a7335371df
|
@ -0,0 +1,94 @@
|
|||
$(document).ready(function() {
|
||||
|
||||
// Variables
|
||||
var $codeSnippets = $('.code-example-body'),
|
||||
$nav = $('.navbar'),
|
||||
$body = $('body'),
|
||||
$window = $(window),
|
||||
$popoverLink = $('[data-popover]'),
|
||||
navOffsetTop = $nav.offset().top,
|
||||
$document = $(document),
|
||||
entityMap = {
|
||||
"&": "&",
|
||||
"<": "<",
|
||||
">": ">",
|
||||
'"': '"',
|
||||
"'": ''',
|
||||
"/": '/'
|
||||
}
|
||||
|
||||
function init() {
|
||||
$window.on('scroll', onScroll)
|
||||
$window.on('resize', resize)
|
||||
$popoverLink.on('click', openPopover)
|
||||
$document.on('click', closePopover)
|
||||
$('a[href^="#"]').on('click', smoothScroll)
|
||||
buildSnippets();
|
||||
}
|
||||
|
||||
function smoothScroll(e) {
|
||||
e.preventDefault();
|
||||
$(document).off("scroll");
|
||||
var target = this.hash,
|
||||
menu = target;
|
||||
$target = $(target);
|
||||
$('html, body').stop().animate({
|
||||
'scrollTop': $target.offset().top-40
|
||||
}, 0, 'swing', function () {
|
||||
window.location.hash = target;
|
||||
$(document).on("scroll", onScroll);
|
||||
});
|
||||
}
|
||||
|
||||
function openPopover(e) {
|
||||
e.preventDefault()
|
||||
closePopover();
|
||||
var popover = $($(this).data('popover'));
|
||||
popover.toggleClass('open')
|
||||
e.stopImmediatePropagation();
|
||||
}
|
||||
|
||||
function closePopover(e) {
|
||||
if($('.popover.open').length > 0) {
|
||||
$('.popover').removeClass('open')
|
||||
}
|
||||
}
|
||||
|
||||
$("#button").click(function() {
|
||||
$('html, body').animate({
|
||||
scrollTop: $("#elementtoScrollToID").offset().top
|
||||
}, 2000);
|
||||
});
|
||||
|
||||
function resize() {
|
||||
$body.removeClass('has-docked-nav')
|
||||
navOffsetTop = $nav.offset().top
|
||||
onScroll()
|
||||
}
|
||||
|
||||
function onScroll() {
|
||||
if(navOffsetTop < $window.scrollTop() && !$body.hasClass('has-docked-nav')) {
|
||||
$body.addClass('has-docked-nav')
|
||||
}
|
||||
if(navOffsetTop > $window.scrollTop() && $body.hasClass('has-docked-nav')) {
|
||||
$body.removeClass('has-docked-nav')
|
||||
}
|
||||
}
|
||||
|
||||
function escapeHtml(string) {
|
||||
return String(string).replace(/[&<>"'\/]/g, function (s) {
|
||||
return entityMap[s];
|
||||
});
|
||||
}
|
||||
|
||||
// function buildSnippets() {
|
||||
// $codeSnippets.each(function() {
|
||||
// var newContent = escapeHtml($(this).html())
|
||||
// $(this).html(newContent)
|
||||
// })
|
||||
// }
|
||||
|
||||
|
||||
init();
|
||||
|
||||
});
|
Loading…
Reference in New Issue