【问题标题】:Fix divs at certain scroll point then unfix at another scroll point在某个滚动点修复 div,然后在另一个滚动点取消修复
【发布时间】:2014-03-15 14:58:38
【问题描述】:

我正在开发一个带有 div 的网站,我想在某个滚动点修复它,然后在另一个滚动点变得不固定。我查看了其他类似的帖子,了解如何在某些点修复 div,但仅此而已我要创建的活动的第一部分。我的网站也是水平滚动的,我看过的所有帖子都是垂直滚动的。

我是 Javascript 的初学者,所以甚至不知道从哪里开始编写代码!但我本质上想要这个:

/* When scrolling left  */
if (div >= 300 && div <= 600)
  position = fixed;
else 
  position = absolute;

任何帮助将不胜感激!

谢谢

更新:

我已经解决了! :D 这有点草率,可能不是最干净/最有效的代码,但它满足了我的需要:

$(window).scroll(function(){
if  ($(window).scrollLeft() <= 3600){
     $('#section2').css({position:'relative'});
} 
});

$(window).scroll(function(){
if  ($(window).scrollLeft() >= 3600){
     $('#section2').css({position:'fixed',padding:'0px',margin:'0px',});

} 
});

$(window).scroll(function(){
if  ($(window).scrollLeft() >= 4900){
     $('#section2').css({position:'relative', paddingLeft:'1200px'});
} 
});

我只是使用“if”语句而不是“if”和“else”来将 div 设置为在我固定位置之前和之后的相对位置。

【问题讨论】:

    标签: css html fixed horizontal-scrolling


    【解决方案1】:

    纯 CSS 无法做到这一点,但请看一下这个 jQuery 插件 http://stickyjs.com

    $(function(){
      $('div').sticky(options);
    })
    

    【讨论】:

    • 感谢您的回复。这个插件是否适用于水平滚动,因为它只有 topSpacing 和 bottomSpacing?
    • 对不起,我不确定水平滚动
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-16
    相关资源
    最近更新 更多