您的位置:首页 > 运维架构

octopress添加回到顶部按钮

2014-12-06 22:10 281 查看
准备回到顶部的png图片一枚,可以随自己喜好google。分享我的

/**
* 回到页面顶部
* @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 的位置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: