123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- (function($){
- // Search
- var $searchWrap = $('#search-form-wrap'),
- isSearchAnim = false,
- searchAnimDuration = 200;
- var startSearchAnim = function(){
- isSearchAnim = true;
- };
- var stopSearchAnim = function(callback){
- setTimeout(function(){
- isSearchAnim = false;
- callback && callback();
- }, searchAnimDuration);
- };
- $('#nav-search-btn').on('click', function(){
- if (isSearchAnim) return;
- startSearchAnim();
- $searchWrap.addClass('on');
- stopSearchAnim(function(){
- $('.search-form-input').focus();
- });
- });
- $('.search-form-input').on('blur', function(){
- startSearchAnim();
- $searchWrap.removeClass('on');
- stopSearchAnim();
- });
- // 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 = [
- '<div id="' + id + '" class="article-share-box">',
- '<input class="article-share-input" value="' + url + '">',
- '<div class="article-share-links">',
- '<a href="https://twitter.com/intent/tweet?url=' + encodedUrl + '" class="article-share-twitter" target="_blank" title="Twitter"></a>',
- '<a href="https://www.facebook.com/sharer.php?u=' + encodedUrl + '" class="article-share-facebook" target="_blank" title="Facebook"></a>',
- '<a href="http://pinterest.com/pin/create/button/?url=' + encodedUrl + '" class="article-share-pinterest" target="_blank" title="Pinterest"></a>',
- '<a href="https://plus.google.com/share?url=' + encodedUrl + '" class="article-share-google" target="_blank" title="Google+"></a>',
- '</div>',
- '</div>'
- ].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('<span class="caption">' + alt + '</span>');
- $(this).wrap('<a href="' + this.src + '" title="' + alt + '" class="fancybox"></a>');
- });
- $(this).find('.fancybox').each(function(){
- $(this).attr('rel', 'article' + i);
- });
- });
- if ($.fancybox){
- $('.fancybox').fancybox();
- }
- // Mobile nav
- var $container = $('#container'),
- isMobileNavAnim = false,
- mobileNavAnimDuration = 200;
- var startMobileNavAnim = function(){
- isMobileNavAnim = true;
- };
- var stopMobileNavAnim = function(){
- setTimeout(function(){
- isMobileNavAnim = false;
- }, mobileNavAnimDuration);
- }
- $('#main-nav-toggle').on('click', function(){
- if (isMobileNavAnim) return;
- startMobileNavAnim();
- $container.toggleClass('mobile-nav-on');
- stopMobileNavAnim();
- });
- $('#wrap').on('click', function(){
- if (isMobileNavAnim || !$container.hasClass('mobile-nav-on')) return;
- $container.removeClass('mobile-nav-on');
- });
- })(jQuery);
|