粘性侧边栏 Javascript / Jquery

Sticky Sidebar Javascript / Jquery

提问人:OctoLion 提问时间:11/5/2023 最后编辑:OctoLion 更新时间:11/5/2023 访问量:23

问:

我正在尝试使用此JS脚本创建添加粘性侧边栏:

function checkOffset() {
  var sideBarHeight = $('header').height();
  
  if ($('.checkoutcolumn-wrapper').offset().top + $('.checkoutcolumn-wrapper').height() >= $('#shopify-section-related-products-sectioned').offset().top - 160){
    $('.checkoutcolumn-wrapper').css('position', 'absolute');
    $('.checkoutcolumn-wrapper').css('bottom', '0px');
  
    
  }
    
  if ($(document).scrollTop() + window.innerHeight < $('#shopify-section-related-products-sectioned').offset().top) {
    $('.checkoutcolumn-wrapper').css('position', 'fixed');
    $('.checkoutcolumn-wrapper').css('top', sideBarHeight);
    $('.product-single__meta-list').text($('.checkout-column').height());  
  } 
}

HTML 包含的内容很长。该网站可在此处查看:https://hpjs0v1qgyxk8t5v-17118003.shopifypreview.com

我遵循了这个例子:https://jsfiddle.net/Kkv7X

我不明白的问题是设置顶部的距离是固定的。我需要它是 0px,直到它到达顶部,这样它就不会覆盖标题......右?然后对于绝对位置,它需要是 0px。我认为这是与 css 相关的 - 对于绝对定位,底部 0px 似乎在父级之外,但它被设置为相对位置。

任何使用 JS 使其具有粘性的帮助将不胜感激!

javascript jquery css-position 侧边栏 粘性

评论

1赞 Rory McCrossan 11/5/2023
如果没有一个完整的工作示例来显示代码的当前状态,你的问题就没有意义。JS 小提琴同样无用,因为它不包含任何您声称是问题一部分的标头。
0赞 OctoLion 11/5/2023
@RoryMcCrossan我忘了提供该网站的链接。谢谢。html有点长,内容要发布。 hpjs0v1qgyxk8t5v-17118003.shopifypreview.com

答: 暂无答案