Div动作基于滚动,关闭屏幕

时间:2012-06-19 04:37:55

标签: jquery css

我有2个div,我们称之为#div_1和#div_2。 两个div都有内容。我想做但却想不到的是: 当用户滚动页面时,我希望看到div_1消失在屏幕的顶部,就像它被推离屏幕一样。同时div_2应该在div_1下面显示。然后当div_2完全可见时,如果你愿意,div_2应该能够滚动,延迟滚动。

如下:http://eephusleague.com/magazine/

我已经尝试编写和编辑了很多代码段,但我似乎无法找到方法。 我是jQuery的新手,所以如果可能的话我会非常感激。

提前致谢

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

你看到和说的是视差滚动。

http://webdesignledger.com/inspiration/21-examples-of-parallax-scrolling-in-web-design

有一些jQuery插件,但如果你无论它如何工作,我可以给你一个小例子:

在文档滚动上,它是一个jquery事件:

   $(window).scroll(function() {


   });
如果用户使用本机浏览器滚动条滚动窗口,

此函数内的所有内容都会作出反应。

你可以在这个函数中加入一些检查,如:

if ($(this).scrollTop() > 10) {
    // if current window top position greater than 10 you cant let move some elements
    $('#div_2').css{top:$(this).scrollTop()};
}

所有在一起:

   $(window).scroll(function() {

      if ($(this).scrollTop() > 10) {
         $('#div_2').css{top:$(this).scrollTop()};
      }

   });

这是非常基本的

获取当前滚动方向的其他内容:

var oldPos = 0;
function getScrollDirection(actPos) {

   if (actPos > oldPos) {
       console.log("down");
   } else {
       console.log("up");
   }
   oldPos = actPos;

},

将此函数放在滚动事件中,如:

$(window).scroll(function() {

      getScrollDirection($(this).scrollTop());

});

现在您有一些工具和信息可以为您的网站构建自己的视差滚动: - )

我认为这个插件是最好的:

http://jonraasch.com/blog/scrolling-parallax-jquery-plugin

所以我希望这会有所帮助。