document.body.scrollTop || document.documentElement.scrollTop javascript

时间:2013-10-02 18:59:29

标签: jquery scroll scrolltop

我有这个代码,我想在div而不是正文上滚动

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

1 个答案:

答案 0 :(得分:2)

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

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

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

没有jQuery,它将是:

var divToScroll = document.getElementsByClassName('divToScroll')[0],
    scrollPosition = divToScroll.scrollTop;