javascript - 粘性元素捕捉向下滚动和捕捉向上滚动

标签 javascript jquery html css

我有一个粘性侧边栏,现在使用 js 我让它捕捉并固定在某个点。但是当我向上滚动时,我需要它捕捉而不是比它的起点更远。 到目前为止,这是我的代码。

$(window).scroll(function(e){ 
  $el = $('.why_social'); 
 if ($(this).scrollTop() > 735 && $el.css('position') != 'fixed'){ 
  $('.why_social').css({'position': 'fixed', 'top': '-62px'}); 
  } 
});

最佳答案

您只需要添加一个相反的支票。这应该可以帮助您入门。

$(window).scroll(function(e){ 
    $el = $('.why_social'); 
    if ($(this).scrollTop() > 735 && $el.css('position') !== 'fixed') { 
        $('.why_social').css({'position': 'fixed', 'top': '-62px'}); 
    }
    if ($(this).scrollTop() <= 735 && $el.css('position') === 'fixed') {  {
        $('.why_social').css({'position': ''}); // remove `position: fixed;`
    }
});

顺便说一句:如果您还没有决定采用自定义解决方案,您可以查看 Bootstrap's Affix Plugin满足您的需求。您可以在 https://github.com/twbs/bootstrap/blob/master/js/affix.js 获取源代码。另一个链接会将您带到有关如何使用它的文档。您所要做的就是添加 .affix { position: fixed; 到你的 CSS。

关于javascript - 粘性元素捕捉向下滚动和捕捉向上滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22517514/

相关文章:

javascript - 在 Google Contacts API 版本 3.0 上使用 oauth2 检索刷新 token

javascript - 如何处理来自 Ajax 调用的 React 组件方法

javascript - jQuery Deferred 在失败处理程序后继续解析

javascript - 在其他元素之上显示日历

javascript - 是否可以将部分文本框设置为只读?

javascript - Angular 4 - 将数据传递到组件中

javascript - 循环遍历具有特定样式的所有元素

javascript - 我怎样才能改变点击表格的CSS样式

jquery - 网站在 IE 8.0.6011.19088IC 中渲染异常

php - 云驱动器与云文件(或者我们不应该打扰吗?)