summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--assets/js/miracles.min.js261
1 files changed, 135 insertions, 126 deletions
diff --git a/assets/js/miracles.min.js b/assets/js/miracles.min.js
index 4863262..93b7735 100644
--- a/assets/js/miracles.min.js
+++ b/assets/js/miracles.min.js
@@ -146,6 +146,7 @@ $('#gotop').hide();
$(window).scroll(function() {
if ($(window).scrollTop() > 450) {
scaleIn($('#gotop'), '0.7');
+ scaleIn($('#gotop'), '0.7');
} else {
scaleOut($('#gotop'), '0.7');
}
@@ -159,20 +160,18 @@ var last_scroll_position;
var header = $(".nav");
window.addEventListener('scroll', function(e) {
-last_scroll_position = window.scrollY;
-
-// 向下滚动
-if (new_scroll_position < last_scroll_position && last_scroll_position > 80) {
- header.removeClass("nav-slideDown");
- header.addClass("nav-slideUp");
-
-// 向上滚动
-} else if (new_scroll_position > last_scroll_position) {
- header.removeClass("nav-slideUp");
- header.addClass("nav-slideDown");
-}
+ last_scroll_position = window.scrollY;
+ if (new_scroll_position < last_scroll_position && last_scroll_position > 80) {
+ //向下滚动
+ header.removeClass("nav-slideDown");
+ header.addClass("nav-slideUp");
+ } else if (new_scroll_position > last_scroll_position) {
+ //向上滚动
+ header.removeClass("nav-slideUp");
+ header.addClass("nav-slideDown");
+ }
-new_scroll_position = last_scroll_position;
+ new_scroll_position = last_scroll_position;
});
/**
@@ -262,7 +261,7 @@ function alertSend(content, type) {
window.setTimeout(function() {
$(".alert").remove();
}, 200);
- }, 2000);
+ }, 2500);
}
/**
@@ -286,132 +285,78 @@ $(document).ready(function() {
/**
* Event Listeners
*/
-/* GetElementById */
-function idGetEl(id) {
- var el = document.getElementById(id);
- return el;
-}
-
/* Find Elements */
-var goTopButton = idGetEl("gotop");
-var fullMask = idGetEl("full-mask");
-var searchCloseButton = idGetEl("search-close-button");
-var searchOpenButton = idGetEl("search-open-button");
-var searchOpenMobile = idGetEl("search-open-mobile");
-var loginCloseButton = idGetEl("login-close");
-var loginOpenButton = idGetEl("login-open");
-var loginOpenMobile = idGetEl("login-open-mobile");
-var toggleMobileMenuClose = idGetEl("toggle-mobile-menu-close");
-var toggleMobileMenu = idGetEl("toggle-mobile-menu-button");
-var drawerButton = idGetEl("drawer-button");
-var navBar = idGetEl("navBar");
-var navBarMobile = idGetEl("navBarMobile");
-var darkToggle = idGetEl("toggle-dark-button");
-var darkToggleMobile = idGetEl("toggle-dark-mobile");
+var goTopButton = $("#gotop");
+var fullMask = $("#full-mask");
+var searchCloseButton = $("#search-close-button");
+var searchOpenButton = $("#search-open-button");
+var searchOpenMobile = $("#search-open-mobile");
+var loginCloseButton = $("#login-close");
+var loginOpenButton = $("#login-open");
+var loginOpenMobile = $("#login-open-mobile");
+var toggleMobileMenuClose = $("#toggle-mobile-menu-close");
+var toggleMobileMenu = $("#toggle-mobile-menu-button");
+var drawerButton = $("#drawer-button");
+var navBar = $("#navBar");
+var navBarMobile = $("#navBarMobile");
+var darkToggle = $("#toggle-dark-button");
+var darkToggleMobile = $("#toggle-dark-mobile");
/* Add Listeners */
//返回顶部按钮
-goTopButton.addEventListener("click", GoTop);
+goTopButton.on("click", GoTop);
//全屏遮罩(抽屉栏)
-fullMask.addEventListener("click", function() {
+fullMask.on("click", function() {
toggleDrawer();
- $('.options').addClass('ready');
});
+//打开/关闭抽屉栏
+drawerButton.on("click", toggleDrawer);
//打开/关闭搜索面板
-searchCloseButton.addEventListener("click", Search);
-searchOpenButton.addEventListener("click", Search);
-searchOpenMobile.addEventListener("click", Search);
+searchCloseButton.on("click", Search);
+searchOpenButton.on("click", Search);
+if(searchOpenMobile){searchOpenMobile.on("click", function(){
+ Search();
+ toggleDrawer();
+});}
//打开/关闭登录面板
-loginCloseButton.addEventListener("click", Login);
-loginOpenButton.addEventListener("click", Login);
-loginOpenMobile.addEventListener("click", Login);
+loginCloseButton.on("click", Login);
+loginOpenButton.on("click", Login);
+if(loginOpenMobile){loginOpenMobile.on("click", function() {
+ Login();
+ toggleDrawer();
+});}
//开关移动端导航
-toggleMobileMenuClose.addEventListener("click", function() {
+if(toggleMobileMenuClose){
+ toggleMobileMenuClose.on("click", function() {
$(".mobile-menu").toggleClass("ready");
$(".mobile-menu-close").toggleClass("ready");
-});
-toggleMobileMenu.addEventListener("click", function() {
+ });
+}
+if(toggleMobileMenu){
+ toggleMobileMenu.on("click", function() {
$(".mobile-menu").toggleClass("ready");
$(".mobile-menu-close").toggleClass("ready");
-});
-//切换夜间模式
-darkToggle.addEventListener("click", Dark);
-darkToggleMobile.addEventListener("click", Dark);
-
-
-/**
- * Load Pjax
- */
-if (loadPjax = true) {
- $(document).pjax('a[href^="' + siteurl + '"]:not(a[target="_blank"], a[no-pjax], .comment-reply a, .cancel-comment-reply a)', {
- container: '#pjax-container',
- fragment: '#pjax-container',
- timeout: 8000
- }).on('pjax:send', function() {
- GoTop();
- //Others
- beforePjax();
- }).on('pjax:complete', function() {
- //Front-end Login
- $('form#login-form').addClass('need-refresh');
- //Close Mobile Menu after pjax finishes
- $(".mobile-menu").addClass("ready");
- $(".mobile-menu-close").addClass("ready");
- //Animation
- $(".post-list").addClass("fadein").hide().fadeIn(300);
- $(".post-body").addClass("fadein").hide().fadeIn(300);
- $(".comment").addClass("fadein").hide().fadeIn(300);
- $("#pjax-container").css({
- 'height': 'auto'
- });
- //NProgress
- NProgress.done();
- //LazyLoad
- LazyLoad();
- //Code Highlight
- highlight();
- //Pangu.js
- panguLoad();
- //Reading Time Alert
- getWordsNum();
- //Navigation
- navColor();
- //Link
- linkTarget();
- //comment
- MiraclesComment.bindReplyBtn(); //Bind Reply Button
- MiraclesComment.core(); //Comment Core
- //Others
- afterPjax();
- });
+ });
}
+//切换夜间模式
+darkToggle.on("click", Dark);
+if(darkToggleMobile){darkToggleMobile.on("click", Dark);}
/**
- * Comply First
- */
-(function() {
- panguLoad();
- LazyLoad();
- highlight();
- navUpdate();
- getWordsNum();
- navColor();
-})();
-/**
* NavBar Scroll Change
*/
-var navBar_height = navBar.clientHeight;
-
+if(navBar){
+ var navBar_height = navBar.clientHeight;
function navUpdate() {
if(allowNavAero==true) {
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
if (scrollTop > navBar_height) {
- navBar.classList.remove("nav-aero");
- navBarMobile.classList.remove("nav-aero");
+ navBar.removeClass("nav-aero");
+ navBarMobile.removeClass("nav-aero");
$(".nav-icon-button").css("color", "#000");
} else {
- navBar.classList.add("nav-aero");
- navBarMobile.classList.add("nav-aero");
+ navBar.addClass("nav-aero");
+ navBarMobile.addClass("nav-aero");
if ($(".index-banner").css("background-image")=="url('')") {
$(".nav-icon-button").css("color", "#000");
}
@@ -421,27 +366,28 @@ var navBar_height = navBar.clientHeight;
}
}
}
-$(window).scroll(function() {
- navUpdate();
-})
+ $(window).scroll(function() {
+ navUpdate();
+ })
+}
/**
* Navbar font update
*/
function navColor() {
- if (idGetEl("banner-content").className.indexOf("banner-font-black") == -1) {
- navBar.classList.add("nav-font-white");
- navBarMobile.classList.add("nav-font-white");
+ if ($("#banner-content").hasClass("banner-font-black")) {
+ if(navBar){navBar.addClass("nav-font-white");}
+ if(navBarMobile){navBarMobile.addClass("nav-font-white");}
} else {
- navBar.classList.remove("nav-font-white");
- navBarMobile.classList.remove("nav-font-white");
+ if(navBar){navBar.removeClass("nav-font-white");}
+ if(navBarMobile){navBarMobile.removeClass("nav-font-white");}
}
}
/**
* getWordsNum
*/
function getWordsNum() {
- if (idGetEl("post-content"))
- str = idGetEl("post-content").innerText;
+ if ($("#post-content"))
+ str = $("#post-content").text();
else return false;
sLen = 0;
str = str.replace(/(\r\n+|\s+| +)/g, "龘");
@@ -450,7 +396,7 @@ function getWordsNum() {
str = str.replace(/龘+/g, "");
sLen = str.length;
time = Math.ceil(sLen / 450);
- idGetEl("readTip").innerHTML = "本文约 " + sLen + "字 阅读大概需要 " + time + " 分钟";
+ $("#readTip").html("本文约 " + sLen + "字 阅读大概需要 " + time + " 分钟");
}
/**
* Build Time Echo
@@ -498,4 +444,67 @@ function linkTarget() {
}
linkTarget();
+/**
+ * Load Pjax
+ */
+if (loadPjax = true) {
+ $(document).pjax('a[href^="' + siteurl + '"]:not(a[target="_blank"], a[no-pjax], .comment-reply a, .cancel-comment-reply a)', {
+ container: '#pjax-container',
+ fragment: '#pjax-container',
+ timeout: 8000
+ }).on('pjax:send', function() {
+ GoTop();
+ //Others
+ beforePjax();
+ }).on('pjax:complete', function() {
+ //Front-end Login
+ $('form#login-form').addClass('need-refresh');
+ //Close Mobile Menu after pjax finishes
+ $(".mobile-menu").addClass("ready");
+ $(".mobile-menu-close").addClass("ready");
+ //Animation
+ $(".post-list").addClass("fadein").hide().fadeIn(300);
+ $(".post-body").addClass("fadein").hide().fadeIn(300);
+ $(".comment").addClass("fadein").hide().fadeIn(300);
+ $("#pjax-container").css({
+ 'height': 'auto'
+ });
+ //NProgress
+ NProgress.done();
+ //LazyLoad
+ LazyLoad();
+ //Code Highlight
+ highlight();
+ //Pangu.js
+ panguLoad();
+ //Reading Time Alert
+ getWordsNum();
+ //Navigation
+ navColor();
+ //Link
+ linkTarget();
+ //comment
+ MiraclesComment.bindReplyBtn(); //Bind Reply Button
+ MiraclesComment.core(); //Comment Core
+ //Others
+ afterPjax();
+ });
+}
+
+/**
+ * Comply First
+ */
+(function() {
+ panguLoad();
+ LazyLoad();
+ highlight();
+ if(navBar){
+ navUpdate();
+ }
+ getWordsNum();
+ if(navBar){
+ navColor();
+ }
+})();
+
console.log("%c 🎉 Theme Miracles %c by Eltrac https://guhub.cn %c ", "color: #fff; margin: 1em 0; padding: 5px 0; background: #29c75f;", "margin: 1em 0; padding: 5px 0; background: #efefef;", "display: block;margin-left:-0.5em;"); \ No newline at end of file