如何减少和增加滚动页边距
How in decrease and increase the margin on scroll
我想编写javascript代码,当窗口向上滚动时,通过减小页边空白顶部(默认值为0)来向上移动文本。但当我向下滚动时,文本顶部的边距不等于0。请帮助
Fiddle示例
HTML:
<div id="h">
<div id="t">Hello</div>
<div id="content"></div>
CSS:
#h {
background:green;
width:550px;
height:200px;
position:fixed;
top:0;
padding:50px 0 0 100px;
}
#t {
font-size:40px;
color:white;
}
#content {
background:blue;
width:550px;
height:700px;
margin:200px 0;
position:relative;
}
JS:
var pos = 0;
var el = document.getElementById("t");
var m = 0;
window.addEventListener("scroll", function () {
if (window.pageYOffset > pos) {
m -= 1;
el.style.marginTop = m + "px";
} else {
m += 1;
el.style.marginTop = m + "px";
}
pos = window.pageYOffset;
}, false);
您不需要逐像素添加。您可以直接从滚动条顶部设置文本边距:
var pos = 0;
var el = document.getElementById("t");
var m = 0;
window.addEventListener("scroll", function () {
el.style.marginTop = -window.pageYOffset/2 + "px";
pos = window.pageYOffset;
}, false);
固定示例
相关文章:
- 所有4页边距(上、右、下、左)的混合更少
- 网络视图中视频的页边距
- 使滚动侧边栏停止在页脚处
- 如何在ASP.Net中使用java脚本动态调整页边距
- 如何减少和增加滚动页边距
- 当我需要将页边距底部设置为新值时,它将被覆盖
- 十三和侧边栏溢出页脚-上页边距
- CSS列计数和页边距
- 动态调整页边距
- 当使用jQuery UI可排序时,页边距消失
- 在IE中打印时无法去掉页边距、页眉和页脚
- 暂时覆盖页边距
- If和else语句用于id和class更改页边距
- 当触发点击Javascript事件时,IE8将一些页边距重置为0
- 逐页设置页脚高度或页边距
- 使用JavaScript加载页面并更改页边距
- 如何在文档准备好之前从js中强制准备好页边距
- Wkhtmltopdf -动态改变页边距而不覆盖内容
- @页边距设置仅适用于Google Chrome
- 应用HTML页边距时的offsetTop问题