首页 > 代码库 > octopress添加回到顶部按钮

octopress添加回到顶部按钮

准备回到顶部的png图片一枚,可以随自己喜好google。分享我的

取名top.png,保存在octopress/source/images/top.png

octopress/source/_includes/custom/目录下新建网页文件:totop.html

<!--返回顶部开始--><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> <!--返回顶部结束--> 
View Code

octopress/source/javascripts/目录下新建js文件: top.js

/** * 回到页面顶部 * @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);      }}
View Code

 

 然后把totop.html 引入到文件中,考虑到进到具体每一篇blog里面也有这个功能,我们把这个文件在foot.html中引入,修改:

octopress/source/_includes/custom/footer.html文件:

<div class="col-md-1">  <a href="http://www.mamicode.com/"><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="http://www.mamicode.com/images/glyphicons_social_31_twitter.png"/></a>    {% endif %}    {% if site.github_user %}    <a href="https://github.com/{{site.github_user}}"><img src="http://www.mamicode.com/images/glyphicons_social_21_github.png"/></a>    {% endif %}    {% if site.linkedin_user %}    <a href="https://linkedin.com/in/{{site.linkedin_user}}"><img src="http://www.mamicode.com/images/glyphicons_social_17_linked_in.png"/></a>    {% endif %}    {% if site.email %}    <a href="mailto:{{site.email}}"><img src="http://www.mamicode.com/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 的位置

octopress添加回到顶部按钮