octopress添加回到顶部按钮
准备回到顶部的png图片一枚,可以随自己喜好google。分享我的
取名top.png,保存在octopress/source/images/top.png
octopress/source/_includes/custom/目录下新建网页文件:totop.html
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<!--返回顶部开始--> <div id="full" style="width:0px; height:0px; position:fixed; right:80px; bottom:80px; z-index:100; text-align:center; background-color:transparent; cursor:pointer;"> <a href="#" onclick="goTop();return false;"><img src="/images/top.png" border=0 alt="返回顶部"></a> </div> <script src="/javascripts/top.js" type="text/javascript"></script> <!--返回顶部结束-->
octopress/source/javascripts/目录下新建js文件: top.js
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
/** * 回到页面顶部 * @param acceleration 加速度 * @param time 时间间隔 (毫秒) **/ function goTop(acceleration, time) { acceleration = acceleration || 0.1; time = time || 16; var x1 = 0; var y1 = 0; var x2 = 0; var y2 = 0; var x3 = 0; var y3 = 0; if (document.documentElement) { x1 = document.documentElement.scrollLeft || 0; y1 = document.documentElement.scrollTop || 0; } if (document.body) { x2 = document.body.scrollLeft || 0; y2 = document.body.scrollTop || 0; } var x3 = window.scrollX || 0; var y3 = window.scrollY || 0; // 滚动条到页面顶部的水平距离 var x = Math.max(x1, Math.max(x2, x3)); // 滚动条到页面顶部的垂直距离 var y = Math.max(y1, Math.max(y2, y3)); // 滚动距离 = 目前距离 / 速度, 因为距离原来越小, 速度是大于 1 的数, 所以滚动距离会越来越小 var speed = 1 + acceleration; window.scrollTo(Math.floor(x / speed), Math.floor(y / speed)); // 如果距离不为零, 继续调用迭代本函数 if(x > 0 || y > 0) { var invokeFunction = "goTop(" + acceleration + ", " + time + ")"; window.setTimeout(invokeFunction, time); } }
然后把totop.html 引入到文件中,考虑到进到具体每一篇blog里面也有这个功能,我们把这个文件在foot.html中引入,修改:
octopress/source/_includes/custom/footer.html文件:
<div class="col-md-1"> <a href="/"><h4>Home</h4></a> </div> <div class="col-md-2"> <div class="social-icon-list"> {% if site.twitter_user %} <a href="https://twitter.com/{{site.twitter_user}}"><img src="/images/glyphicons_social_31_twitter.png"/></a> {% endif %} {% if site.github_user %} <a href="https://github.com/{{site.github_user}}"><img src="/images/glyphicons_social_21_github.png"/></a> {% endif %} {% if site.linkedin_user %} <a href="https://linkedin.com/in/{{site.linkedin_user}}"><img src="/images/glyphicons_social_17_linked_in.png"/></a> {% endif %} {% if site.email %} <a href="mailto:{{site.email}}"><img src="/images/glyphicons_social_39_e-mail.png"/></a> {% endif %} {% include custom/totop.html %} </div> </div> {% include end_footer.html %}
在终端执行:
rake generate;
rake preview;
网页中输入:http://localhost:4000/
可以看到预览效果,可以通过修改totop.html 中的div 中的部分修改top.png 的位置