Javascript document.body.scrollTop值卡在0处

Javascript document.body.scrollTop值卡在0处,javascript,html,scroll,scrolltop,Javascript,Html,Scroll,Scrolltop,当用户滚动一定距离时,我想更改一些文本。但是,当我滚动时,document.body.scrollTop的值保持为0 检查日志时,scroll的值从不从0移动,因此滚动时文本从不从A切换到B。提前谢谢你的帮助 编辑:前三个答案似乎都不适合我。我想我应该提供一些背景 建立我的设计组合网站。我希望能够在用户向下滚动页面时将横幅中的单词设计器更改为其他描述符单词,但似乎无法收听当前滚动位置。这应该可以做到。document.documentElement.scrollTop是IE的一个变体。 应该可以

当用户滚动一定距离时,我想更改一些文本。但是,当我滚动时,document.body.scrollTop的值保持为0

检查日志时,scroll的值从不从0移动,因此滚动时文本从不从A切换到B。提前谢谢你的帮助


编辑:前三个答案似乎都不适合我。我想我应该提供一些背景


建立我的设计组合网站。我希望能够在用户向下滚动页面时将横幅中的单词设计器更改为其他描述符单词,但似乎无法收听当前滚动位置。

这应该可以做到。document.documentElement.scrollTop是IE的一个变体。 应该可以跨浏览器工作

window.onscroll = function() {
  var scroll = window.scrollY || document.documentElement.scrollTop;
  if (scroll < 50) {
    document.write("A");
  } else {
    document.write("B");
  }    
}

试试这个。

为什么要在横幅中内联放置脚本?为什么不在现有的$window.scrollfunction{中实现您的逻辑,因为该事件似乎正确设置了scroll上的不透明度

只需添加:

if(scrollTop < 50){ 
   $('#banner h1').text("My name is John. I'm a designer"); 
} else { 
   $('#banner h1').text("My name is John. I'm a thinker"); 
}

尽管与您的问题无关,但您应该远离文档。尽可能多地编写。有关详细信息,请参阅。

这段代码是否包含在滚动事件中?如果我使用jquery发布我的答案可以吗?前三个答案似乎都不适合我。我想我应该提供一些上下文。构建我的设计作品集网站。您可以查看早期的build here:我希望在用户向下滚动页面时,能够将横幅中的单词设计器更改为其他描述符单词,但似乎无法收听当前滚动位置。不确定是什么原因导致此解决方案无法工作,但我重新构造了一些代码,这似乎工作得最好为了我。
var el = $('.test');

//alert(el.scrollTop());

el.on('scroll', function(){
    if(el.scrollTop()>50){
  alert(el.scrollTop());
    }

});
if(scrollTop < 50){ 
   $('#banner h1').text("My name is John. I'm a designer"); 
} else { 
   $('#banner h1').text("My name is John. I'm a thinker"); 
}
if(document.attachEvent){
    document.attachEvent('onscroll', scrollEvent); 
}else if(document.addEventListener){
    document.addEventListener('scroll', scrollEvent, false); 
}

function scrollEvent(e){
    var scroll = document.body.scrollTop;

    var text = null;
    if (scroll < 50) {
        text = document.createTextNode('A');
    } else {
        text = document.createTextNode('B');
    }
    document.body.appendChild(text);
}