document.body.scroll顶端值停留在0
document.body.scrollTop value stuck at 0
当用户滚动一定距离时,我想更改一些文本。但是,当我滚动时,document.body.scrollTop
的值保持在0
。
var scroll = document.body.scrollTop;
if (scroll < 50) {
document.write("A");
} else {
document.write("B");
}
当检查日志时,scroll
的值从不从0
移动,因此滚动时文本从不从A
切换到B
。感谢您提前提供的帮助。
编辑:前三个答案似乎都不适合我。我想我应该提供一些上下文。
建立我的设计作品集网站。在此处查看早期版本。当用户向下滚动页面时,我希望能够将横幅中的单词"designer"更改为其他描述符单词,但似乎无法收听当前滚动位置。
为什么要将该脚本内联在横幅中?为什么不在现有的$(window).scroll(function () {
中实现您的逻辑呢?因为该事件似乎在滚动时正确设置了不透明度。
只需添加:
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);
}
尽管与你的问题无关,但你应该尽可能远离document.write
。请参阅为什么document.write被视为";不良做法"?了解更多详细信息。
这应该做到。"document.dococumentElement.scrollTop"是一个IE变体。应该可以跨浏览器工作。
window.onscroll = function() {
var scroll = window.scrollY || document.documentElement.scrollTop;
if (scroll < 50) {
document.write("A");
} else {
document.write("B");
}
}
演示FIDDLE
var el = $('.test');
//alert(el.scrollTop());
el.on('scroll', function(){
if(el.scrollTop()>50){
alert(el.scrollTop());
}
});
试试这个。
相关文章:
- 不同页面背景的body标记上的角度ng样式
- contentWindow.document.body is null
- 在jQuery中使用$('body').html('')意味着什么
- 如果在iframe中查看页面,如何在Wordpress中添加body类
- '这'内部'body'标签
- node js post request.body undefined
- jQuery body onChange具有多个元素和多个函数
- 使用重定向来启动应用程序,并且仍然停留在asp.net中的同一页面中
- JS似乎停留在Ajax重新加载页面上的DOM
- 余额仍停留在5000
- 理解 d3.js 源代码:停留在 function.call() 和 “=+”
- 选择不会停留在AngularJS多选绑定中
- FB Timeline应用程序高度停留在800px
- 如何获得下一个/上一个链接以停留在CarouFredSel幻灯片的两侧
- document.body.scroll顶端值停留在0
- AudioContext.当前时间在Chromebook上永远停留在0.010666666
- 倒计时停留在1点
- 将鼠标停留在onclick元素上
- 停留在<李>表单提交后的选项卡
- 为什么倒计时停留在“1”