【问题标题】:Scroll down div animation in Angular在Angular中向下滚动div动画
【发布时间】:2020-07-12 02:31:02
【问题描述】:

当向下滚动框时如何为每个框设置动画将像淡入一样进行动画处理, 如果滚动到 .box pageYOffset 20 该框将淡入,我尝试使用 AOS 第三方库,它工作正常,但我想知道如何在没有任何第三方库的情况下进行向下滚动动画

myCode

@HostListener('window:scroll', ['$event'])
  onWindowScroll(e) {
    const box = document.querySelector('.box');
    if (window.pageYOffset < box.clientHeight ) {
      box.classList.add('colorChange');
    } else {
      box.classList.remove('colorChange');
    }
  }
.container{
  text-align: center;
  margin: auto;
  padding-top: 768px;
}
.box{
  background: #007aff;
  width: 200px;
  height: 200px;
  display: block;
  word-spacing: 30px;
  line-height: 30px;
  margin: 30px auto;
}
.colorChange{
  background: #fcad2e;
  animation: fade-in 1s ease-in-out;
}
@keyframes fade-in {
  from{
    opacity: 0;
    transform: translateY(50px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}
<div class="container">
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
</div>

【问题讨论】:

  • 如果可能,请使用交点 Oberserver。

标签: javascript angular typescript


【解决方案1】:

这通过专门添加一个窗口滚动事件侦听器来工作。

import { Component, VERSION, HostListener } from "@angular/core";

@Component({
  selector: "my-app",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.css"]
})
export class AppComponent {
  name = "Angular " + VERSION.major;
  constructor(){
    window.addEventListener("scroll", (event)=>{
    debugger;
    const box = document.querySelector('.box');
    if (window.pageYOffset < box.clientHeight ) {
      box.classList.add('colorChange');
    } else {
      box.classList.remove('colorChange');
    }
  });
  }
  }

Here's link to working example

【讨论】:

  • 感谢约翰的工作。但是,如果我有多张卡片,每个卡片的类名我都给定了 colorChange,如何为每张具有相同类名的卡片制作动画
  • 我正在尝试向下滚动页面动画
猜你喜欢
  • 1970-01-01
  • 2015-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-21
  • 2014-10-19
相关资源
最近更新 更多