【问题标题】:Fixed Scrolling Div固定滚动div
【发布时间】:2012-11-24 23:11:15
【问题描述】:

我的网站 (http://www.medigapbuyersguide.com/new/) 的整个左侧是固定的,向下滚动时会随屏幕滚动。我为此使用了 Jquery。

我有两个问题;

  • 左侧一旦碰到页脚(底部)就不会停止滚动。
  • 当我调整窗口大小时,左侧移动到不合适的位置。

如何解决这些问题?

jQuery 代码:

<script>
$(document).ready(function () {  
  var top = $('#left-menu').offset().top - parseFloat($('#left-    menu').css('marginTop').replace(/auto/, 0));
  $(window).scroll(function (event) {
    // what the y position of the scroll is
    var y = $(this).scrollTop();

    // whether that's below the form
    if (y >= top) {
      // if so, ad the fixed class
      $('#left-menu').addClass('fixed');
    } else {
      // otherwise remove it
      $('#left-menu').removeClass('fixed');
    }
  });
});
</script>

CSS:

<style>

#left-menu { 
  left: 20%;
  position: absolute;
  margin-left: 40px;
  width:290px;
}

#left-menu {
  position: absolute;
  top: 0;
  margin-top: 132px;
  padding-top: 19px;
}

#left-menu.fixed {
  position: fixed;
  top: 0;
}
</style>

感谢您的宝贵时间。

【问题讨论】:

    标签: jquery html scroll fixed


    【解决方案1】:

    我可以帮助您,但您需要进行一些更改。有两种方法可以解决这个问题: 1 - 例如,您需要将侧栏和内容包装在 DIV 中,然后将它们分成 2 个 DIVS = SIDEBAR 和 MAINCONTENT。然后我们就可以计算了。

    2 - 现在做一些疯狂的计算!

    我建议首先正确创建 div 容器,然后我们可以计算。还要检查http://j.mp/11Mjvgk

    【讨论】:

    • 好的,我创建了一个名为 content-wrapper 的 div,里面整个左侧被包裹在一个名为 left-menu 的 div 中,而右侧被称为 right-content。
    • 更好 :D 让我尝试一下,看看它是否有效。我会尽快发布。
    • 您可以将此添加到您的网站吗? j.mp/11Mjvgk 请评论您的代码。之后我会尽量给你最终的代码。
    • 好的,所以我遇到了调整窗口大小的问题。现在唯一的问题是页脚的重叠。
    • 这是唯一的问题,但您需要编写几行代码才能完成这项工作。您是否可以看到需要进行一些验证。这不是一件容易的事。 portamento.js 为您完成所有这些工作。您需要计算侧边栏的高度,并在用户向下滚动时将其与主容器的高度进行比较。检查代码以了解这有多复杂。上次我尝试自己做这件事花了我 1 周的时间。检查此代码:simianstudios.com/portamento/portamento.js
    猜你喜欢
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多