首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >滚动时平移div

滚动时平移div
EN

Stack Overflow用户
提问于 2016-08-10 20:25:34
回答 1查看 2.3K关注 0票数 0

我在div中有一个div。第一个div的高度未知。第二个的高度是125px。

我想让第二个成为一个粘性的div,它只在这个div中是粘性的。

灰色的盒子是容器,它旁边的社交媒体div应该是粘性的。

容器之后会有更多的内容,所以我不能使用position: fixed。我试图使用position: absolute并更改top的值或transform: translate,但当我这样做时,Chrome就开始抖动了。

我尝试使用的代码:

代码语言:javascript
复制
$offset = $(".social-media").offset().top;
$containerHeight = $(".sticky-container").height();
$bottom = $containerHeight + $(".sticky-container").offset().top;
$maxPoint = $containerHeight - $(".social-media").height();
$(window).scroll(function(){
    if($(window).scrollTop() >= $offset){
        if($(window).scrollTop() >= $bottom){
            $(".social-media").css({transform: "translate(0px,"+$maxPoint+"px)"});
        }else{
            $scroll = $(window).scrollTop() - $offset;
            $(".social-media").css({transform: "translate(0px,"+$scroll+"px)"});
        }
    }else{
        $(".social-media").css({transform: "translate(0px,0px)"});
    }
});
EN

回答 1

Stack Overflow用户

发布于 2016-08-10 20:51:56

由于您提供的jsbin显示解决方案在没有抖动的情况下工作,所以问题可能出在由站点的其他元素触发的重绘中,而不是您粘贴的代码。看一下Google's repaint optimization guidelines,它可能会帮助您确定导致抖动的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38873386

复制
相关文章

相似问题

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