【问题标题】:change overlay opacity from scrolling position从滚动位置更改覆盖不透明度
【发布时间】:2016-02-04 19:35:39
【问题描述】:

我有一个包含一些部分的网站,有一个“图像部分”,这个部分的高度约为 3000 像素,背景图像是固定的,所以我得到了一个很好的效果 - 过了一会儿滚动到这个图像部分我想要显示信息文本。这部分已经可以正常工作了。

我想要的: 在显示文本并经过一小段时间(我的意思是几个滚动步骤)阅读文本后,我想在部分结束前大约 100 像素处将不透明度降低到 0(滚动位置)。

<section class="box red">

</section>
<section class="box blue">

</section>
<section class="image-section">
  <div class="overlay">
    <div class="overlay-text">
      lorem ipsum
    </div>
  </div>
</section>
<section class="box red mysection">

</section>
<section class="box blue">

</section>

我的小提琴:https://jsfiddle.net/e53f9m55/3/ (在js部分顶部是靶心插件,忽略它)

【问题讨论】:

    标签: javascript css parallax


    【解决方案1】:

    您已经根据与顶部距离的关系更改了叠加层的不透明度,因此您可以对距底部的距离执行类似的操作。像这样的:

    var distanceFromBottom = $(document).height() - $(window).height() - $(window).scrollTop();
    opacity_text = distanceFromBottom / $(document).height();
    $(".overlay-text").css({"opacity" : opacity_text});
    

    【讨论】:

    • 很好的答案,谢谢,但我怎样才能让 distanceFromBottom 不依赖于文档高度?这可能吗?
    • 当然,你可以用任何可滚动的容器来做,看看这个 fiddle 你可以看到它:jsfiddle.net/jolmos/6Ly0eLn9
    • 好的,我没有使用可滚动容器...我测试它,但我必须在容器中准确滚动,当我像往常一样滚动时,事件不会触发..当我想要隐藏带有溢出的滚动条,它不再工作了
    • 这只是一个想法,你必须玩一点,在这里检查你的小提琴的更新:jsfiddle.net/e53f9m55/5
    猜你喜欢
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 2011-09-13
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 2015-04-19
    相关资源
    最近更新 更多