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="/"><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 的位置

你可能感兴趣的:(回到顶部)