2

我有这段代码,我想在 div 而不是 body 上滚动

var scrollPosition = document.body.scrollTop || document.documentElement.scrollTop;

我试过这个:

var divToScroll = $(".divToScroll"),
    scrollPosition = divToScroll.scrollTop || document.divToScroll.scrollTop;

但它不工作

<section class=divToScroll>
     <article>
     </article>
</section>

样式:

.divToScroll{
  position:relative;
  width:640px;
  height:320px;
  overflow-y:auto;
  overflow-x:hidden;
}

.divToScroll article{
   width:100%;
   height:2000px;
}
4

1 回答 1

2

它不起作用的原因是因为divToScroll它是一个 jQuery 对象,而不是像 那样的原生 DOM 节点document.body,因此没有 scrollTop 属性,但 jQuery 有一个scrollTop()方法

var divToScroll = $(".divToScroll"),
    scrollPosition = divToScroll.scrollTop();

当然,这仅在滚动条附加到该元素时才有效。

如果没有 jQuery,它将是:

var divToScroll = document.getElementsByClassName('divToScroll')[0],
    scrollPosition = divToScroll.scrollTop;
于 2013-10-02T19:07:27.210 回答