From 3e5ca25aaccf730b01946a14f5fafe76170a5da2 Mon Sep 17 00:00:00 2001 From: digitalcraftsman Date: Fri, 19 Aug 2016 18:06:11 +0200 Subject: Update main.js script Fixes #36 --- static/js/script.js | 146 +++++++++++++++++----------------------------------- 1 file changed, 47 insertions(+), 99 deletions(-) (limited to 'static') diff --git a/static/js/script.js b/static/js/script.js index d5f3696..b298f0c 100644 --- a/static/js/script.js +++ b/static/js/script.js @@ -1,106 +1,54 @@ (function($){ - var toTop = $('#toTop').length ? $('#toTop').offset().top - $(window).height() + 20 : 0; - - // Share - $('body').on('click', function(){ - $('.article-share-box.on').removeClass('on'); - }).on('click', '.article-share-link', function(e){ - e.stopPropagation(); - - var $this = $(this), - url = $this.attr('data-url'), - encodedUrl = encodeURIComponent(url), - id = 'article-share-box-' + $this.attr('data-id'), - offset = $this.offset(); - - if ($('#' + id).length){ - var box = $('#' + id); - - if (box.hasClass('on')){ - box.removeClass('on'); - return; - } - } else { - var html = [ - '
', - '', - '
', - '', - '', - '', - '', - '
', - '
' - ].join(''); - - var box = $(html); - - $('body').append(box); - } - - $('.article-share-box.on').hide(); - - box.css({ - top: offset.top + 25, - left: offset.left - }).addClass('on'); - }).on('click', '.article-share-box', function(e){ - e.stopPropagation(); - }).on('click', '.article-share-box-input', function(){ - $(this).select(); - }).on('click', '.article-share-box-link', function(e){ - e.preventDefault(); - e.stopPropagation(); - - window.open(this.href, 'article-share-box-window-' + Date.now(), 'width=500,height=450'); - }); - - // Caption - $('.article-entry').each(function(i){ - $(this).find('img').each(function(){ - if ($(this).parent().hasClass('fancybox')) return; - - var alt = this.alt; - - if (alt) $(this).after('' + alt + ''); - - $(this).wrap(''); + var toTop = ($('#sidebar').height() - $(window).height()) + 60; + // Caption + $('.article-entry').each(function(i){ + $(this).find('img').each(function(){ + if ($(this).parent().hasClass('fancybox')) { + return; + } + var alt = this.alt; + if (alt) { + $(this).after('' + alt + ''); + } + + $(this).wrap(''); + }); + + $(this).find('.fancybox').each(function(){ + $(this).attr('rel', 'article' + i); + }); }); + if ($.fancybox){ + $('.fancybox').fancybox(); + } - $(this).find('.fancybox').each(function(){ - $(this).attr('rel', 'article' + i); + // Profile card + $(document).on('click', function () { + $('#profile').removeClass('card'); + }).on('click', '#profile-anchor', function (e) { + e.stopPropagation(); + $('#profile').toggleClass('card'); + }).on('click', '.profile-inner', function (e) { + e.stopPropagation(); }); - }); - - if ($.fancybox){ - $('.fancybox').fancybox(); - } - - // Profile card - $(document).on('click', function () { - $('#profile').removeClass('card'); - }).on('click', '#profile-anchor', function (e) { - e.stopPropagation(); - $('#profile').toggleClass('card'); - }).on('click', '.profile-inner', function (e) { - e.stopPropagation(); - }); - // To Top - $(document).on('scroll', function () { - if ($(document).width() >= 800) { - if($(this).scrollTop() > toTop) { - $('#toTop').addClass('fix'); - $('#toTop').css('left', $('#sidebar').offset().left); - } else { - $('#toTop').removeClass('fix'); - } - } else { - $('#toTop').addClass('fix'); - $('#toTop').css('right', 20); + // To Top + if ($('#sidebar').length) { + $(document).on('scroll', function () { + if ($(document).width() >= 800) { + if(($(this).scrollTop() > toTop) && ($(this).scrollTop() > 0)) { + $('#toTop').fadeIn(); + $('#toTop').css('left', $('#sidebar').offset().left); + } else { + $('#toTop').fadeOut(); + } + } else { + $('#toTop').fadeIn(); + $('#toTop').css('right', 20); + } + }).on('click', '#toTop', function () { + $('body, html').animate({ scrollTop: 0 }, 600); + }); } - }).on('click', '#toTop', function () { - $(document).scrollTop(0); - }); -})(jQuery); \ No newline at end of file +})(jQuery); -- cgit v1.2.3