繁体   English   中英

滚动时如何使div更改不透明度? (视差)

[英]How to have a div change opacity when scrolling? (Parallax)

我想知道如何创建像视差滚动效果一样的东西。 向下滚动的距离越远,div越不透明,并且在特定点之后,它又开始变得更加透明。 我知道JS / JQuery是必需的。 有人可以给我一个简单的方法来实现这一目标吗?

您应该使用scrolltop并实现关于数学的自己的逻辑,并且在滚动时div的不透明度会发生变化,这是以下功能:$(window).scrollTop()

我创建了一个小提琴来为您提供帮助:基本上,您可以侦听scroll事件,并根据方向控制css opacity属性。

var opc = 1;
var lastScrollTop = 0;
$(window).scroll(function(event){
   var st = $(this).scrollTop();
   if (st > lastScrollTop){
        changeOpacity(0, -0.1)       
   } else {
      changeOpacity(1, +0.1)     
   }
   lastScrollTop = st;
});

function changeOpacity (limit, amount) {
    if(opc !== limit){
        opc = opc + amount;
        $('#content').css('opacity' , opc);
    }
}

http://jsfiddle.net/Mvf67/1909/

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM