首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让元素在某一点后停止滚动?

如何让元素在某一点后停止滚动?
EN

Stack Overflow用户
提问于 2016-02-25 08:19:26
回答 1查看 63关注 0票数 0

好的,正如问题所说,我在一个点上设置了一个元素,但由于某些原因,我需要它向上滚动一点,然后停在另一个固定点上。我的朋友帮了我一点代码,但我们都不是Javascript的专家,所以类似的问题并没有真正帮助我弄清楚这件事。我现在的代码是

代码语言:javascript
运行
复制
function absToFix() {
  var udaljenost = $(window).scrollTop();
  var sideb = $('#sidebar').offset().top;
  var distance = (sideb - udaljenost);
  return distance;
}
$(document).ready(function() {
  var distance = absToFix();
  $(window).scroll(function() {
    distance = absToFix();
    if (distance < 220) {
      $('#sidebar').css({
        position: 'fixed',
        top: '220px'
      });
    } else {
      $('#sidebar').css({
        position: 'absolute',
        top: '340px'
      });
    }
  });
});

一般来说,它是有效的,在某种意义上,它站在它应该在的地方,并在它应该停止滚动的地方停止滚动,然而,随着进一步的滚动,它只是在固定点和向上滚动之间保持闪烁,而我真的不知道如何停止它。

EN

回答 1

Stack Overflow用户

发布于 2016-02-25 08:23:47

您可以使用以下函数:

代码语言:javascript
运行
复制
function disableScroll() {
  if (window.addEventListener) // older FF
      window.addEventListener('DOMMouseScroll', preventDefault, false);
  window.onwheel = preventDefault; // modern standard
  window.onmousewheel = document.onmousewheel = preventDefault; // older browsers, IE
  window.ontouchmove  = preventDefault; // mobile
  document.onkeydown  = preventDefaultForScrollKeys;
}

    function enableScroll() {
        if (window.removeEventListener)
            window.removeEventListener('DOMMouseScroll', preventDefault, false);
        window.onmousewheel = document.onmousewheel = null; 
        window.onwheel = null; 
        window.ontouchmove = null;  
        document.onkeydown = null;  
    }

 $(document).ready(function() {
  var distance = absToFix();
  $(window).scroll(function() {
    distance = absToFix();
    if (distance < 220) {
      disableScroll();
    } else {
      $('#sidebar').css({
        position: 'absolute',
        top: '340px'
      });
    }
  });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35615889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档