javascript - 基于 var 值的 Jquery 转换不透明度

标签 javascript jquery css

我正在尝试根据视口(viewport)高度内的滚动位置将不透明度值设置为从 0 到 1 的动画。下面的代码为 windowHeightscrollTop 设置了变量,它们可以结合起来计算视口(viewport)高度的 percentageScrolled (0–100)。基于此,我能够在设定点切换 CSS 值,但我想逐渐改变 percentageScrolled 的不透明度从 0–100。

我如何调整下面的代码来过渡/动画不透明度?

谢谢。

$(window).on('scroll', function(){

    // Vars
    var windowHeight = $(window).height();
    var scrollTop = $(this).scrollTop();
    var percentageScrolled = (scrollTop*100)/windowHeight;

    if( percentageScrolled < 100 ) {
        $('.colour-overlay').css('opacity', '1');
    } else {
        $('.colour-overlay').css('opacity', '0');
    }

});

最佳答案

您可以删除 if 并将不透明度设置为百分比除以 100

$(window).on('scroll', function() {

  // Vars
  var windowHeight = $(window).height();
  var scrollTop = $(this).scrollTop();
  $('.colour-overlay').css('opacity', scrollTop / windowHeight);

});
.colour-overlay {
  display: block;
  width: 20px;
  height: 1200px;
  background-color: blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="colour-overlay"></div>

关于javascript - 基于 var 值的 Jquery 转换不透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56075968/

相关文章:

javascript - 随机谷歌未定义错误

php - 如何根据内容控制html模板输出?

javascript - 如何添加适用于滚动的CSS动画效果仅适用于特定的div?

javascript - 单击它时如何更改一个按钮文本不是所有具有相同类的按钮

javascript - 如何检查 JavaScript 中用户浏览器是否不支持字符?

html - 在需要时缩小文本以适应 CSS 中的 div

javascript - 来自 csv 数据的新数组

javascript - 如何修改此导航栏以仅在 100px 后向下滚动时隐藏?

javascript - 在附加到屏幕之前编辑返回的结果

jquery - 禁用 'hover' 不起作用