使用 .scrollTop() 作为位置:相对于固定的 jquery 事件

发布于 2024-12-10 09:48:34 字数 895 浏览 1 评论 0原文

我说我的页面顶部有一个 30px 的标题,并且它已经处于固定位置。我有一个距离标题大约 50px 的 div 框。所以它距离我的浏览器顶部 80px。我正在尝试创建一个 jquery 事件,其中该 div 框将在向下滚动时保持在原位,直到它到达标题底部,然后它将成为固定位置。

我遇到的问题是当我使用 .scrollTop() 时,它接触浏览器的顶部而不是标题的底部,然后它变成固定位置。我尝试过 .scrollTop(30),但它只是将我的页面放在页面开头 30px 处,并且不会让我滚动到任何地方,它只会抖动回 30px。

这是我现在的jquery函数,有人可以帮我修改它吗?

谢谢!

    $(function() {
        var a = function() {
            var b = $(window).scrollTop();
        //I've tried $(window).scrollTop() + "30px"; and $(window).scrollTop(30);
            var d = $("#notification-anchor").offset().top;
            var c = $("#notification");
            if (b > d) {
                c.css({position:"fixed",top:"30px"});
            } else {
                if(b<=d){
                c.css({position:"relative",top:"0px"});
                }
            }
        };
        $(window).scroll(a);a()
    });

i have say a 30px header on the top of my page, and it is in fixed position already. And I have a div box about 50px away from my header. So it is 80px away from the top of my browser. I'm trying to create a jquery event where this div box will stay in place while scrolling down until it hits the bottom of my header, then it will be a fixed position.

The problem I'm having is when I'm using .scrollTop(), it touches the top of my browser instead of the bottom of my header then it becomes fixed position. I've tried .scrollTop(30), but it just puts my page 30px down on page start and it won't let me scroll anywhere, it'll just jitter back to 30px.

This is my jquery function right now if someone can help me modify it?

Thanks!

    $(function() {
        var a = function() {
            var b = $(window).scrollTop();
        //I've tried $(window).scrollTop() + "30px"; and $(window).scrollTop(30);
            var d = $("#notification-anchor").offset().top;
            var c = $("#notification");
            if (b > d) {
                c.css({position:"fixed",top:"30px"});
            } else {
                if(b<=d){
                c.css({position:"relative",top:"0px"});
                }
            }
        };
        $(window).scroll(a);a()
    });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

满身野味 2024-12-17 09:48:34

我从@Shedokan 的评论中弄清楚了这一点。

谢谢!

I was able to figure it out from @Shedokan's comment.

Thanks!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文