Javascript 如何减少和增加滚动上的边距

Javascript 如何减少和增加滚动上的边距,javascript,margin,Javascript,Margin,我想编写javascript代码,在向上滚动窗口时,通过减少页边距顶部(默认值为0)来向上移动文本。但当我向下滚动时,文本顶部的边距不等于0。请帮忙 HTML: <div id="h"> <div id="t">Hello</div> <div id="content"></div> #h { background:green; width:550px; height:200px; p

我想编写javascript代码,在向上滚动窗口时,通过减少页边距顶部(默认值为0)来向上移动文本。但当我向下滚动时,文本顶部的边距不等于0。请帮忙

HTML:

<div id="h">
    <div id="t">Hello</div>
    <div id="content"></div>
#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;
}
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);
JS:

<div id="h">
    <div id="t">Hello</div>
    <div id="content"></div>
#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;
}
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);

你不需要逐像素添加。您可以直接从scrollTop设置文本边距:

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);

向我们展示您迄今为止所做的工作。您想解释一下为什么要更改页面滚动条上的文本边距吗?不管怎样,文本都会上升,你的逻辑是什么?既然我是这里的新手,你知道如何在这里发布JSFIDLE链接吗?然后我可以给你看我的代码如果它说后面需要代码,只需将你的代码添加到问题旁边的小提琴链接这里是我所有的代码,请帮助!!最受欢迎的是:如果有帮助,请考虑接受我的回答。(左侧绿色V)JSFIDLE链接已断开。请修理