jquery - 在页脚不起作用之前停止固定位置

标签 jquery css css-position

我有一个固定位置的元素:

.woocommerce #content div.product div.summary {
    position: fixed;
    right: 15%;
    padding: 20px;
    background-color: #ccc;
    width: 25%;
}

我想做的是让元素在页脚之前停止,我尝试了以下方法:

$(document).scroll(function (){
  if($('.woocommerce #content div.product div.summary').offset().top + $('.woocommerce #content div.product div.summary').height() >= $('footer').offset().top - 10){
    $('.woocommerce #content div.product div.summary').css('position', 'absolute');
  }

  if($(document).scrollTop() + window.innerHeight < $('footer').offset().top){
    $('.woocommerce #content div.product div.summary').css('position', 'fixed');
  } 
});

但我遇到了一些奇怪的行为,例如,它直接到顶部并且元素的宽度变得更小,我不知道如何修复它。

这是我的页面,我正在尝试在...

http://handyman-ondemand.com/product/electrical/

最佳答案

避免页脚超过 div.summary 的一种方法是在页脚上添加边距顶部,这是该 div 的高度。

#footer {
    margin-top: 500px;
}

关于jquery - 在页脚不起作用之前停止固定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57998445/

相关文章:

css - 位置 :fixed element inside another position:fixed element doesn't show up (iPad only)

html - 可滚动父级上的绝对定位元素

javascript - 通过 jquery 为 Opera 实现占位符 =""

javascript - 访问 $.each() 中的项目

html - 用于对齐文本框和标签的 CSS

html - Firefox 有不同的像素大小?

javascript - jQuery:在输入集中填充自动完成功能

javascript - 测试 jquery 方法是否工作正常

html - CSS 媒体查询不改变元素?

html - "top: 0; left: 0; bottom: 0; right: 0;"是什么意思?