hexo-theme-ayer/source/js/ayer.js

159 lines
3.7 KiB
JavaScript
Raw Normal View History

2019-12-03 11:37:44 +00:00
(function ($) {
//
2019-12-16 15:48:13 +00:00
// Search
2019-12-03 11:37:44 +00:00
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-item-search').on('click', function () {
if (isSearchAnim) return;
startSearchAnim();
$searchWrap.addClass('on');
stopSearchAnim(function () {
$('.local-search-input').focus();
});
});
$(document).mouseup(function (e) {
var _con = $('.local-search');
if (!_con.is(e.target) && _con.has(e.target).length === 0) {
$searchWrap.removeClass('on');
}
});
//
// 移动设备侦测
var isMobile = {
Android: function () {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function () {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function () {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
Opera: function () {
return navigator.userAgent.match(/Opera Mini/i);
},
Windows: function () {
return navigator.userAgent.match(/IEMobile/i);
},
any: function () {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
}
};
//
// 建议在移动端不初始化,其实 /search.xml 文件还挺大的,
2019-12-19 13:20:41 +00:00
if ($('.local-search').size()) {
2019-12-03 11:37:44 +00:00
$.getScript('/js/search.js', function () {
searchFunc("/search.xml", 'local-search-input', 'local-search-result');
});
}
//
// Share
2020-02-06 15:14:35 +00:00
$('.share-outer').click(()=>$('.share-wrap').fadeToggle())
2019-12-03 11:37:44 +00:00
//
// fancybox
if ($.fancybox) {
$('[data-fancybox]').fancybox({
protect: true
});
}
//
// lazyload
$("img.lazy").lazyload({
2019-12-04 11:27:58 +00:00
effect: "fadeIn"
2019-12-03 11:37:44 +00:00
});
//
// justifiedGallery
$('#gallery').justifiedGallery({
2019-12-04 11:27:58 +00:00
rowHeight: 200,
margins: 5
2019-12-03 11:37:44 +00:00
});
2020-01-09 11:55:59 +00:00
// scroll down
2019-12-03 11:37:44 +00:00
$(document).ready(function ($) {
2020-01-09 11:55:59 +00:00
$('.anchor').click(function (e) {
e.preventDefault();
$('main').animate({ scrollTop: $('.cover').height() }, 'smooth');
2019-12-03 11:37:44 +00:00
});
});
// To top
2019-12-04 11:27:58 +00:00
(function ($) {
2019-12-03 11:37:44 +00:00
// When to show the scroll link
// higher number = scroll link appears further down the page
var upperLimit = 1000;
// Our scroll link element
var scrollElem = $('#totop');
// Scroll to top speed
var scrollSpeed = 1600;
// Show and hide the scroll to top link based on scroll position
scrollElem.hide();
$('.content').scroll(function () {
var scrollTop = $('.content').scrollTop();
2019-12-04 11:27:58 +00:00
if (scrollTop > upperLimit) {
2019-12-03 11:37:44 +00:00
$(scrollElem).stop().fadeTo(300, 1); // fade back in
2019-12-04 11:27:58 +00:00
} else {
2019-12-03 11:37:44 +00:00
$(scrollElem).stop().fadeTo(300, 0); // fade out
}
});
// Scroll to top animation on click
2019-12-04 11:27:58 +00:00
$(scrollElem).click(function () {
$('.content').animate({ scrollTop: 0 }, scrollSpeed); return false;
2019-12-03 11:37:44 +00:00
});
})(jQuery);
// Mobile nav
var $content = $('.content'),
2020-01-23 06:13:24 +00:00
$sidebar = $('.sidebar');
2019-12-03 11:37:44 +00:00
$('.navbar-toggle').on('click', function () {
$content.toggleClass('on');
$sidebar.toggleClass('on');
});
$($content).on('click', function () {
$content.removeClass('on');
$sidebar.removeClass('on');
});
2019-12-04 11:27:58 +00:00
if (window.matchMedia("(min-width: 768px)").matches) {
$content.addClass('on');
$sidebar.addClass('on');
}
2019-12-16 15:48:13 +00:00
// reward
$('#reward-btn').on('click', function () {
2020-02-06 15:14:35 +00:00
$('#reward').fadeIn(150)
$('#mask').fadeIn(150)
2019-12-16 15:48:13 +00:00
});
$('#reward .close, #mask').on('click', function () {
$('#mask').fadeOut(100)
$('#reward').fadeOut(100)
2019-12-05 15:31:52 +00:00
})
2019-12-03 11:37:44 +00:00
})(jQuery);