jQuery - 在没有固定位置的情况下滚动窗口时阻止滚动元素

时间:2017-09-17 02:33:05

标签: javascript jquery scroll

我想问一下防止滚动元素。 我有一个元素,当窗口滚动时自动滚动,所有网站都有,因为这是默认的。当窗口滚动时,所有元素都可以滚动,对吗? 现在,我想防止在窗口滚动时自动滚动元素,但我不想将元素位置设置为固定。 我怎么能这样做?有什么想法吗?

例如:

    $(window).scroll(function(){
      if($(this).scrollTop() == 100){
        $(element) // How to prevent scroll this element without position fixed ?
      }
   });

1 个答案:

答案 0 :(得分:0)

有一个名为position:sticky的新CSS3位置属性 - 应用时(将偏移量添加为数据属性)。

来自开发笔记的链接 https://developer.mozilla.org/en-US/docs/Web/CSS/position

来自CSS技巧的链接 https://css-tricks.com/position-sticky-2/

所以基本上当你滚过偏移时 - 元素是“粘性的”。这实现了与应用position:fixed样式规则但不重写DOM的效果相同的效果。

它遇到与position相同的问题:固定但是当元素被“卡住”时你需要对主体应用填充,因为它将它从页面流中取出并且所有元素将在页面中位于更高的位置该元素不再以高度计算。

但结果是你可以在没有javascript / jquery的情况下应用粘性类,并且不需要页面上滚动lisener的成本。