修复某个滚动点处的div,然后在另一个滚动点处取消修复

时间:2014-03-15 14:58:39

标签: css html fixed horizontal-scrolling

我正在开发一个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设置为我的固定位置之前和之后的相对位置。

1 个答案:

答案 0 :(得分:0)

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

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