【问题标题】:Using .scrollTop() for position:relative to fixed jquery event使用 .scrollTop() 作为位置:相对于固定的 jquery 事件
【发布时间】:2011-10-15 19:10:05
【问题描述】:

我在页面顶部说了一个 30px 的标题,它已经在固定的位置。我有一个离标题大约 50 像素的 div 框。所以它距离我的浏览器顶部 80 像素。我正在尝试创建一个 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()
    });

【问题讨论】:

  • b = $(window).scrollTop() + 30 怎么样?
  • 呵呵,这很容易解决!谢谢
  • 请注意:在 javascript 中,所有被引号包围的内容都是字符串,因此将其添加到数字将导致:123 + "30px" = "12330px"

标签: jquery css function scroll position


【解决方案1】:

我可以从@Shedokan 的评论中弄清楚。

谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    相关资源
    最近更新 更多