css 向上滚动时固定div上的不透明度淡入

mbyulnm0  于 2023-01-10  发布在  其他
关注(0)|答案(1)|浏览(92)

我试图使一个固定的div淡入当页面滚动。使用另一个div类的代码下面,它的工作完美,但这淡出,我需要扭转它,使div淡入。

var turn = document.getElementById('turn');

window.addEventListener('scroll', function(e) {
  // http://stackoverflow.com/a/28633515/962603
  var scroll = window.pageYOffset || document.documentElement.scrollTop ||
                document.body.scrollTop || 0;
  turn.style.opacity = Math.max(0.1, Math.min(1, -scroll / 400 + 2));
});

我试过交换最小值和最大值,但似乎不起作用。谢谢!

xytpbqjk

xytpbqjk1#

fixeddiv和滚动期间淡入opacity的示例:

var turn = document.getElementById('turn');
updateOpacity(turn, 0);

window.addEventListener('scroll', function(e) {
  var limit = document.body.scrollHeight - window.innerHeight;
  var scroll = window.pageYOffset ||
    document.documentElement.scrollTop ||
    document.body.scrollTop || 0;
  updateOpacity(turn, scroll / limit);
  randomFontColor(turn); // optional
});

function updateOpacity(element, opacity) {
  element.style.opacity = opacity;
}

function randomFontColor(element) {
  var randColor = Math.floor(Math.random() * 9999).toString();
  var hexColor = "#" + randColor.padStart(6, 'FF');
  element.style.color = hexColor;
}
body {
  height: 2600px;
}

#turn {
  left: 6%;
  width: 88%;
  position: fixed;
}

.highlight {
  color: yellow;
  line-height: 42px;
  background: black;
  font-weight: bold;
  text-align: center;
}
<div id="turn" class="highlight">
  Fixed top div with Fade in Effect on Scroll
</div>

相关问题