摘要:承接前文 《手把手教 GitHub + Hexo 搭建博客》 ,对现有博客进行功能扩展。因为随着文章的发表,页面变得很长,长文章也较多,偶尔需要立即回到顶部,这个时候,就需要添加新的快捷方式。于是乎,诞生了这个功能扩展。文章主要分享实现滚动到顶部按钮功能。
以Yilia主题为例,不同的主题可以类比找到对应的文件地址。
打开文件夹 /themes/Yilia/layout/_partial
在此文件夹下,新建文件 totop.ejs
,并向其中加入如下代码:
<div id="totop" style="position:fixed;bottom:50px;right:30px;cursor: pointer;">
<a title="返回顶部"><img src="/img/scrollup.png"/></a>
</div>
注意: 文件的编码格式为 utf-8
。
打开文件夹 /themes/Yilia/source/js
,新建文件 totop.js
,将如下代码复制其中:
(function($) {
// 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();
$(window).scroll(function () {
var scrollTop = $(document).scrollTop();
if ( scrollTop > upperLimit ) {
$(scrollElem).stop().fadeTo(300, 1); // fade back in
}else{
$(scrollElem).stop().fadeTo(300, 0); // fade out
}
});
// Scroll to top animation on click
$(scrollElem).click(function(){
$('html, body').animate({scrollTop:0}, scrollSpeed); return false;
});
})(jQuery);
可以对 upperLimit
和 scrollSpeed
参数进行修改,控制显示位置和回滚速度。
打开文件 /themes/Yilia/layout/_partial/after_footer.ejs
,在文件的末尾添加以下两行代码:
<%- partial('totop') %>
<script src="<%- config.root %>js/totop.js"></script>