首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >滚动效果以更改每个新的div元素的不透明度

滚动效果以更改每个新的div元素的不透明度
EN

Stack Overflow用户
提问于 2018-08-09 13:42:28
回答 2查看 1.4K关注 0票数 1

我是新的网站设计,有一个问题,我想问。我试图使用velocity.js来实现这一点,但失败了。我确信有一个相当简单的css解决方案,我想要的。我只希望以前的div“淡出”,新的div滚动到,以更大的不透明度淡入。对任何jQuery示例也开放。

下面是我对这一节的代码:

html:

代码语言:javascript
运行
复制
 <section id="services">
        <h2 class="pb-5">Services We Offer</h2>
        <div id="service1">
            <h2>Service 1</h2>
        </div>
        <div id="service2">
            <h2>Service 2</h2>
        </div>
        <div id="service3">
            <h2>Service 3</h2>
        </div>

    </section>

css:

代码语言:javascript
运行
复制
#services{

}

#service1{
  height: 100vh;
  background-color: rgb(44, 49, 90);
}

#service2{
 height: 100vh;
 background-color: #267481;
}

#service3{
 height: 100vh;
 background-color: #373f24;
 }
EN

Stack Overflow用户

发布于 2018-08-09 14:18:34

如前所述,在其他答案和注释中,您不能仅在css中操作滚动事件,但是这里有一个简单的jquery示例,它可能对您有所帮助。您可以在滚动页上添加和删除类,还可以向css中添加动画以控制div的不透明度。

代码语言:javascript
运行
复制
$(window).on("scroll", function(){
  var scrollTop = $(this).scrollTop();
  $('.scrollDiv').each(function(){
    var el = $(this);
    var offsetTop = el.offset().top;
    if(scrollTop > offsetTop){
    	el.addClass("scrolled");
    }else{
    	el.removeClass("scrolled");
    }
  });
});
代码语言:javascript
运行
复制
.scrollDiv{
  height:100vh;
  transition:opacity 500ms ease-in-out;
  opacity:0.2;
}
.scrollDiv.scrolled{
  opacity:1;
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="scrollDiv" style="background:green;"></div>
<div class="scrollDiv" style="background:red;"></div>
<div class="scrollDiv" style="background:blue;"></div>
<div class="scrollDiv" style="background:yellow;"></div>

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51768666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档