summaryrefslogtreecommitdiffstats
path: root/assets/js/miracles.min.js
diff options
context:
space:
mode:
authorEltrac Koalar <hi@guhub.cn>2022-11-14 08:57:43 +0800
committerEltrac Koalar <hi@guhub.cn>2022-11-14 08:57:43 +0800
commit53988f8e80799187c1bc0caeea130d4eebd2e4f1 (patch)
tree22343aa6018f335f55551163262be7336d3f444e /assets/js/miracles.min.js
parenteec5008d3fbb28091a65d4c895f2dfe8fa96086d (diff)
:dizzy: Add: 添加返回顶部动画
顺带修复 bug
Diffstat (limited to 'assets/js/miracles.min.js')
-rw-r--r--assets/js/miracles.min.js34
1 files changed, 19 insertions, 15 deletions
diff --git a/assets/js/miracles.min.js b/assets/js/miracles.min.js
index 056eb8e..57dda1b 100644
--- a/assets/js/miracles.min.js
+++ b/assets/js/miracles.min.js
@@ -64,16 +64,6 @@ function scaleOut(object, time) {
object.css('transition', time).css('transform', 'scale(0)')
}
-function gotoPosition(e){
-  var t=e.offsetTop;
-  var l=e.offsetLeft;
-  while(e=e.offsetParent){
-    t+=e.offsetTop;
-    l+=e.offsetLeft;
-  }
-  $("html,body").animate({scrollTop:t},300);
-}
-
/**
* Dark theme
*/
@@ -144,10 +134,25 @@ schemeGeter.addListener(swDarkMode);
/**
* GoTop
*/
-function GoTop() {
- document.body.scrollTop = 0;
- document.documentElement.scrollTop = 0;
-}
+var GoTop = function () {
+ if (!window.requestAnimationFrame) {
+ window.requestAnimationFrame = function(callback, element) {
+ return setTimeout(callback, 17);
+ };
+ }
+ var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
+ var step = function () {
+ var distance = 0 - scrollTop;
+ scrollTop = scrollTop + distance / 5;
+ if (Math.abs(distance) < 1) {
+ window.scrollTo(0, 0);
+ } else {
+ window.scrollTo(0, scrollTop);
+ requestAnimationFrame(step);
+ }
+ };
+ step();
+};
$('#gotop').hide();
$(window).scroll(function() {
if ($(window).scrollTop() > 450) {
@@ -455,7 +460,6 @@ if (loadPjax = true) {
fragment: '#pjax-container',
timeout: 8000
}).on('pjax:send', function() {
- GoTop();
//Others
beforePjax();
}).on('pjax:complete', function() {