목차
State
快速上手
Todos
关键帧动画
动画回调
创建可重用动画
查询元素执行动画
交错动画
自定义状态动画
웹 프론트엔드 JS 튜토리얼 각도 학습: 상태 및 애니메이션에 대한 심층 채팅

각도 학습: 상태 및 애니메이션에 대한 심층 채팅

Mar 09, 2023 pm 07:46 PM
angular 생기 상태

이 기사에서는 Angular의 상태와 애니메이션에 대한 심층적인 이해를 제공하고, 애니메이션 제작 방법을 간략하게 소개하고, 키 프레임 애니메이션, 애니메이션 콜백, 재사용 가능한 애니메이션, 인터리브 애니메이션 및 기타 지식 포인트에 대해 이야기해 보시기 바랍니다. 모두에게 도움이 될 것입니다!

각도 학습: 상태 및 애니메이션에 대한 심층 채팅

State


1. State란 무엇인가

State는 다양한 이동 단계에서 이동되는 요소의 스타일을 나타냅니다.

각도 학습: 상태 및 애니메이션에 대한 심층 채팅

2. 상태 유형

Angular에는 void, *, custom의 세 가지 유형이 있습니다. void*custom
각도 학습: 상태 및 애니메이션에 대한 심층 채팅
void:当元素在内存中创建好但尚未被添加到 DOM 中或将元素从 DOM 中删除时会发生此状态  【相关教程推荐:《angular教程》】

*:元素被插入到 DOM 树之后的状态,或者是已经在DOM树中的元素的状态,也叫默认状态

custom:自定义状态,元素默认就在页面之中,从一个状态运动到另一个状态,比如面板的折叠和展开。

3、进出场动画

进场动画是指元素被创建后以动画的形式出现在用户面前,进场动画的状态用 void => * 表示,别名为 :enter

각도 학습: 상태 및 애니메이션에 대한 심층 채팅
出场动画是指元素在被删除前执行的一段告别动画,出场动画的状态用 * => void,别名为 :leave

각도 학습: 상태 및 애니메이션에 대한 심층 채팅

快速上手


1、在使用动画功能之前,需要引入动画模块,即 BrowserAnimationsModule

import { BrowserAnimationsModule } from "@angular/platform-browser/animations"

@NgModule({
  imports: [BrowserAnimationsModule],
})
export class AppModule {}
로그인 후 복사

2、默认代码解析,todo 之删除任务和添加任务

<!-- 在 index.html 文件中引入 bootstrap.min.css -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" />
로그인 후 복사
<div class="container">
  <h2 id="Todos">Todos</h2>
  <div class="form-group">
    <input (keyup.enter)="addItem(input)" #input type="text" class="form-control" placeholder="add todos" />
  </div>
  <ul class="list-group">
    <li (click)="removeItem(i)" *ngFor="let item of todos; let i = index" class="list-group-item">
      {{ item }}
    </li>
  </ul>
</div>
로그인 후 복사
import { Component } from "@angular/core"

@Component({
  selector: "app-root",
  templateUrl: "./app.component.html",
  styles: []
})
export class AppComponent {
  // todo 列表
  todos: string[] = ["Learn Angular", "Learn RxJS", "Learn NgRx"]
	// 添加 todo
  addItem(input: HTMLInputElement) {
    this.todos.push(input.value)
    input.value = ""
  }
	// 删除 todo
  removeItem(index: number) {
    this.todos.splice(index, 1)
  }
}
로그인 후 복사

3、创建动画

  • trigger 方法用于创建动画,指定动画名称

  • transition 方法用于指定动画的运动状态,出场动画或者入场动画,或者自定义状态动画。

  • style 方法用于设置元素在不同的状态下所对应的样式

  • animate 方法用于设置运动参数,比如动画运动时间,延迟事件,运动形式

@Component({
  animations: [
    // 创建动画, 动画名称为 slide
    trigger("slide", [
      // 指定入场动画 注意: 字符串两边不能有空格, 箭头两边可以有也可以没有空格
      // void => * 可以替换为 :enter
      transition("void => *", [
        // 指定元素未入场前的样式
        style({ opacity: 0, transform: "translateY(40px)" }),
        // 指定元素入场后的样式及运动参数
        animate(250, style({ opacity: 1, transform: "translateY(0)" }))
      ]),
      // 指定出场动画
      // * => void 可以替换为 :leave
      transition("* => void", [
        // 指定元素出场后的样式和运动参数
        animate(600, style({ opacity: 0, transform: "translateX(100%)" }))
      ])
    ])
  ]
})
로그인 후 복사

注意:入场动画中可以不指定元素的默认状态,Angular 会将 void 状态清空作为默认状态

trigger("slide", [
  transition(":enter", [
    style({ opacity: 0, transform: "translateY(40px)" }),
    animate(250)
  ]),
  transition(":leave", [
 		animate(600, style({ opacity: 0, transform: "translateX(100%)" }))
  ])
])
로그인 후 복사

注意:要设置动画的运动参数,需要将 animate 方法的一个参数更改为字符串类型

// 动画执行总时间 延迟时间 (可选) 运动形式 (可选)
animate("600ms 1s ease-out", style({ opacity: 0, transform: "translateX(100%)" }))
로그인 후 복사

关键帧动画


关键帧动画使用 keyframes 方法定义

transition(":leave", [
  animate(
    600,
    keyframes([
      style({ offset: 0.3, transform: "translateX(-80px)" }),
      style({ offset: 1, transform: "translateX(100%)" })
    ])
  )
])
로그인 후 복사

动画回调


Angular 提供了和动画相关的两个回调函数,分别为动画开始执行时和动画执行完成后

<li @slide (@slide.start)="start($event)" (@slide.done)="done($event)"></li>
로그인 후 복사
import { AnimationEvent } from "@angular/animations"

start(event: AnimationEvent) {
  console.log(event)
}
done(event: AnimationEvent) {
  console.log(event)
}
로그인 후 복사

创建可重用动画


1、将动画的定义放置在单独的文件中,方便多组件调用。

import { animate, keyframes, style, transition, trigger } from "@angular/animations"

export const slide = trigger("slide", [
  transition(":enter", [
    style({ opacity: 0, transform: "translateY(40px)" }),
    animate(250)
  ]),
  transition(":leave", [
    animate(
      600,
      keyframes([
        style({ offset: 0.3, transform: "translateX(-80px)" }),
        style({ offset: 1, transform: "translateX(100%)" })
      ])
    )
  ])
])
로그인 후 복사
import { slide } from "./animations"

@Component({
  animations: [slide]
})
로그인 후 복사

2、抽取具体的动画定义,方便多动画调用。

import {animate, animation, keyframes, style, transition, trigger, useAnimation} from "@angular/animations"

export const slideInUp = animation([
  style({ opacity: 0, transform: "translateY(40px)" }),
  animate(250)
])

export const slideOutLeft = animation([
  animate(
    600,
    keyframes([
      style({ offset: 0.3, transform: "translateX(-80px)" }),
      style({ offset: 1, transform: "translateX(100%)" })
    ])
  )
])

export const slide = trigger("slide", [
  transition(":enter", useAnimation(slideInUp)),
  transition(":leave", useAnimation(slideOutLeft))
])
로그인 후 복사

3、调用动画时传递运动总时间,延迟时间,运动形式

export const slideInUp = animation(
  [
    style({ opacity: 0, transform: "translateY(40px)" }),
    animate("{{ duration }} {{ delay }} {{ easing }}")
  ],
  {
    params: {
      duration: "400ms",
      delay: "0s",
      easing: "ease-out"
    }
  }
)
로그인 후 복사
transition(":enter", useAnimation(slideInUp, {params: {delay: "1s"}}))
로그인 후 복사

查询元素执行动画


Angular 中提供了 query 方法查找元素并为元素创建动画

import { slide } from "./animations"

animations: [
  slide,
  trigger("todoAnimations", [
    transition(":enter", [
      query("h2", [
        style({ transform: "translateY(-30px)" }),
        animate(300)
      ]),
      // 查询子级动画 使其执行
      query("@slide", animateChild())
    ])
  ])
]
로그인 후 복사
<div class="container" @todoAnimations>
  <h2 id="Todos">Todos</h2>
  <ul class="list-group">
    <li
      @slide
      (click)="removeItem(i)"
      *ngFor="let item of todos; let i = index"
      class="list-group-item"
    >
      {{ item }}
    </li>
  </ul>
</div>
로그인 후 복사

默认情况下,父级动画和子级动画按照顺序执行,先执行父级动画,再执行子级动画,可以使用 group 方法让其并行

trigger("todoAnimations", [
  transition(":enter", [
    group([
      query("h2", [
        style({ transform: "translateY(-30px)" }),
        animate(300)
      ]),
      query("@slide", animateChild())
    ])
  ])
])
로그인 후 복사

交错动画


Angular 提供了 stagger 方法,在多个元素同时执行同一个动画时,让每个元素动画的执行依次延迟。

transition(":enter", [
  group([
    query("h2", [
      style({ transform: "translateY(-30px)" }),
      animate(300)
    ]),
    query("@slide", stagger(200, animateChild()))
  ])
])
로그인 후 복사

注意:stagger 方法只能在 query 方法内部使用

自定义状态动画


Angular 提供了 state여기에 이미지 설명 삽입
< code> void: 이 상태는 요소가 메모리에 생성되었지만 아직 DOM에 추가되지 않았거나 DOM에서 삭제되지 않은 경우 발생합니다. [관련 튜토리얼 권장 사항: "각 튜토리얼》】

*: 요소가 DOM 트리에 삽입된 후의 상태 또는 DOM 트리에 이미 있는 요소를 기본 상태라고도 합니다각도 학습: 상태 및 애니메이션에 대한 심층 채팅

custom: 사용자 정의 상태. 요소는 기본적으로 페이지에 있으며 패널 접기와 같이 한 상태에서 다른 상태로 이동합니다. .

3. 입장 애니메이션

입장 애니메이션은 요소가 생성된 후 사용자 앞에 애니메이션 형태로 나타나는 것을 의미합니다. > * 별칭은 :enter

여기에 이미지 설명 삽입각도 학습: 상태 및 애니메이션에 대한 심층 채팅 엑시트 애니메이션은 해당 요소가 삭제되기 전 수행되는 작별 애니메이션을 의미합니다. 엑시트 애니메이션의 상태는 * => void이며, 별칭은 :leave</code ><br/></p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/024/81cae07683e1bac067f94fc289e366b4-4.png" class="lazy" alt="이미지 설명 삽입 여기"/>🎜🎜🎜빨리 시작하세요 🎜🎜🎜🎜1. 애니메이션 기능을 사용하기 전에 애니메이션 모듈, 즉 <code>BrowserAnimationsModule🎜🎜

<div class="container">
  <div class="panel panel-default">
    <div class="panel-heading" (click)="toggle()">
      一套框架, 多种平台, 移动端 & 桌面端
    </div>
    <div class="panel-body">
      <p>
        使用简单的声明式模板,快速实现各种特性。使用自定义组件和大量现有组件,扩展模板语言。在几乎所有的
        IDE 中获得针对 Angular
        的即时帮助和反馈。所有这一切,都是为了帮助你编写漂亮的应用,而不是绞尽脑汁的让代码“能用”。
      </p>
      <p>
        从原型到全球部署,Angular 都能带给你支撑 Google
        大型应用的那些高延展性基础设施与技术。
      </p>
      <p>
        通过 Web Worker 和服务端渲染,达到在如今(以及未来)的 Web
        平台上所能达到的最高速度。 Angular 让你有效掌控可伸缩性。基于
        RxJS、Immutable.js 和其它推送模型,能适应海量数据需求。
      </p>
      <p>
        学会用 Angular
        构建应用,然后把这些代码和能力复用在多种多种不同平台的应用上 ——
        Web、移动 Web、移动应用、原生应用和桌面原生应用。
      </p>
    </div>
  </div>
</div>
<style>
  .container {
    margin-top: 100px;
  }
  .panel-heading {
    cursor: pointer;
  }
</style>
로그인 후 복사
🎜2을 소개해야 합니다. 기본 코드 분석, todo 작업 삭제 및 작업 추가🎜
import { Component } from "@angular/core"

@Component({
  selector: "app-root",
  templateUrl: "./app.component.html",
  styles: []
})
export class AppComponent {
  isExpended: boolean = false
  toggle() {
    this.isExpended = !this.isExpended
  }
}
로그인 후 복사
trigger("expandCollapse", [
  // 使用 state 方法定义折叠状态元素对应的样式
  state(
    "collapsed",
    style({
      height: 0,
      overflow: "hidden",
      paddingTop: 0,
      paddingBottom: 0
    })
  ),
  // 使用 state 方法定义展开状态元素对应的样式
  state("expanded", style({ height: "*", overflow: "auto" })),
  // 定义展开动画
  transition("collapsed => expanded", animate("400ms ease-out")),
  // 定义折叠动画
  transition("expanded => collapsed", animate("400ms ease-in"))
])
로그인 후 복사
<div class="panel-body" [@expandCollapse]="isExpended ? &#39;expanded&#39; : &#39;collapsed&#39;"></div>
로그인 후 복사
🎜3. 애니메이션 만들기 🎜
  • 🎜trigger 메서드는 애니메이션을 만들고 애니메이션 이름을 지정하는 데 사용됩니다 🎜
  • 🎜transition 메소드는 애니메이션의 모션 상태를 지정하고 애니메이션이나 진입 애니메이션, 커스텀 상태 애니메이션을 표시하는 데 사용됩니다. 🎜
  • 🎜style 메소드는 다양한 상태의 요소에 해당하는 스타일을 설정하는 데 사용됩니다. 🎜
  • 🎜animate 메소드는 애니메이션 모션 시간, 지연된 이벤트와 같은 모션 매개변수를 설정하는 데 사용됩니다. , Motion Form🎜
const routes: Routes = [
  {
    path: "",
    component: HomeComponent,
    pathMatch: "full",
    data: {
      animation: "one" 
    }
  },
  {
    path: "about",
    component: AboutComponent,
    data: {
      animation: "two"
    }
  },
  {
    path: "news",
    component: NewsComponent,
    data: {
      animation: "three"
    }
  }
]
로그인 후 복사
로그인 후 복사
🎜참고: 입구 애니메이션에서 요소의 기본 상태를 지정할 필요가 없습니다. Angular는 기본 상태로 void 상태를 지웁니다🎜
<div class="routerContainer" [@routerAnimations]="prepareRoute(outlet)">
  <router-outlet #outlet="outlet"></router-outlet>
</div>
로그인 후 복사
로그인 후 복사
🎜참고: 설정하려면 애니메이션의 모션 매개변수를 애니메이션화해야 합니다. 메소드의 한 매개변수가 문자열 유형으로 변경됩니다🎜
import { RouterOutlet } from "@angular/router"

export class AppComponent {
  prepareRoute(outlet: RouterOutlet) {
    return (
      outlet &&
      outlet.activatedRouteData &&
      outlet.activatedRouteData.animation
    )
  }
}
로그인 후 복사
로그인 후 복사
🎜🎜Keyframe animation🎜🎜🎜🎜키프레임 애니메이션은 keyframes 메소드 정의🎜🎜
/* styles.css */
.routerContainer {
  position: relative;
}

.routerContainer > * {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
로그인 후 복사
로그인 후 복사
🎜🎜를 사용합니다. 애니메이션 콜백🎜🎜🎜🎜🎜Angular에서 제공하는 두 가지 애니메이션 관련 콜백 기능은 애니메이션이 시작될 때와 애니메이션이 완료된 후입니다.🎜🎜
trigger("routerAnimations", [
  transition("one => two, one => three, two => three", [
    query(":enter", style({ transform: "translateX(100%)", opacity: 0 })),
    group([
      query(
        ":enter",
        animate(
          "0.4s ease-in",
          style({ transform: "translateX(0)", opacity: 1 })
        )
      ),
      query(
        ":leave",
        animate(
          "0.4s ease-out",
          style({
            transform: "translateX(-100%)",
            opacity: 0
          })
        )
      )
    ])
  ]),
  transition("three => two, three => one, two => one", [
    query(
      ":enter",
      style({ transform: "translateX(-100%)", opacity: 0 })
    ),
    group([
      query(
        ":enter",
        animate(
          "0.4s ease-in",
          style({ transform: "translateX(0)", opacity: 1 })
        )
      ),
      query(
        ":leave",
        animate(
          "0.4s ease-out",
          style({
            transform: "translateX(100%)",
            opacity: 0
          })
        )
      )
    ])
  ])
])
로그인 후 복사
로그인 후 복사
rrreee🎜재사용 가능한 애니메이션 만들기🎜🎜🎜1. 다중 구성 요소 호출. 🎜🎜rrreeerrreee🎜2. 특정 애니메이션 정의를 추출하여 여러 애니메이션 호출을 용이하게 합니다. 🎜rrreee🎜3. 애니메이션 호출 시 총 모션 시간, 지연 시간, 모션 형식 전달🎜rrreeerrreee🎜🎜애니메이션을 수행하기 위한 요소 쿼리🎜🎜🎜🎜Angular는 요소를 찾는 query 메소드를 제공합니다. 🎜🎜rrreeerrreee🎜기본적으로 상위 애니메이션과 하위 애니메이션이 순서대로 실행되며, group 메서드를 사용할 수 있습니다. 병렬로 만들기🎜rrreee🎜🎜인터리브 애니메이션 🎜🎜🎜🎜Angular는 여러 요소가 동시에 동일한 애니메이션을 실행할 때 각 요소의 애니메이션 실행을 차례로 지연시키는 스태거 메서드를 제공합니다. 🎜🎜rrreee🎜참고: 스태거 메서드는 쿼리 메서드 내에서만 사용할 수 있습니다.🎜🎜🎜사용자 정의 상태 애니메이션🎜🎜🎜🎜Angular는 상태 정의를 위한 state 메서드를 제공합니다. 🎜🎜🎜🎜🎜🎜1. 기본 코드 분석🎜rrreeerrreee🎜2. 애니메이션 생성🎜rrreeerrreee🎜🎜Route 애니메이션🎜🎜🎜🎜🎜🎜🎜

1、为路由添加状态标识,此标识即为路由执行动画时的自定义状态

const routes: Routes = [
  {
    path: "",
    component: HomeComponent,
    pathMatch: "full",
    data: {
      animation: "one" 
    }
  },
  {
    path: "about",
    component: AboutComponent,
    data: {
      animation: "two"
    }
  },
  {
    path: "news",
    component: NewsComponent,
    data: {
      animation: "three"
    }
  }
]
로그인 후 복사
로그인 후 복사

2、通过路由插座对象获取路由状态标识,并将标识传递给动画的调用者,让动画执行当前要执行的状态是什么

<div class="routerContainer" [@routerAnimations]="prepareRoute(outlet)">
  <router-outlet #outlet="outlet"></router-outlet>
</div>
로그인 후 복사
로그인 후 복사
import { RouterOutlet } from "@angular/router"

export class AppComponent {
  prepareRoute(outlet: RouterOutlet) {
    return (
      outlet &&
      outlet.activatedRouteData &&
      outlet.activatedRouteData.animation
    )
  }
}
로그인 후 복사
로그인 후 복사

3、将 routerContainer 设置为相对定位,将它的直接一级子元素设置成绝对定位

/* styles.css */
.routerContainer {
  position: relative;
}

.routerContainer > * {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
로그인 후 복사
로그인 후 복사

4、创建动画

trigger("routerAnimations", [
  transition("one => two, one => three, two => three", [
    query(":enter", style({ transform: "translateX(100%)", opacity: 0 })),
    group([
      query(
        ":enter",
        animate(
          "0.4s ease-in",
          style({ transform: "translateX(0)", opacity: 1 })
        )
      ),
      query(
        ":leave",
        animate(
          "0.4s ease-out",
          style({
            transform: "translateX(-100%)",
            opacity: 0
          })
        )
      )
    ])
  ]),
  transition("three => two, three => one, two => one", [
    query(
      ":enter",
      style({ transform: "translateX(-100%)", opacity: 0 })
    ),
    group([
      query(
        ":enter",
        animate(
          "0.4s ease-in",
          style({ transform: "translateX(0)", opacity: 1 })
        )
      ),
      query(
        ":leave",
        animate(
          "0.4s ease-out",
          style({
            transform: "translateX(100%)",
            opacity: 0
          })
        )
      )
    ])
  ])
])
로그인 후 복사
로그인 후 복사

更多编程相关知识,请访问:编程视频!!

위 내용은 각도 학습: 상태 및 애니메이션에 대한 심층 채팅의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

대기 연결 상태: 연결 끊김, 이유: NIC 준수 대기 연결 상태: 연결 끊김, 이유: NIC 준수 Feb 19, 2024 pm 03:15 PM

"이벤트 로그 메시지의 연결 상태에는 대기: NIC 준수로 인해 연결이 끊어졌습니다. 이는 시스템이 대기 모드에 있고 네트워크 인터페이스 카드(NIC)의 연결이 끊어졌음을 의미합니다. 이는 일반적으로 네트워크 문제이지만 발생할 수 있습니다. 다음에서는 "대기 연결 끊김의 원인은 무엇입니까?"에 대해 알아보겠습니다. NIC 준수? Windows 이벤트 뷰어에 "ConnectivityStatusinStandby:DisConnected,Reason:NICCompliance" 메시지가 표시되는 경우 이는 NIC 또는 네트워크 인터페이스 컨트롤러에 문제가 있을 수 있음을 나타냅니다. 이런 상황은 대개

PowerPoint에서 애니메이션이 작동하지 않음 [수정됨] PowerPoint에서 애니메이션이 작동하지 않음 [수정됨] Feb 19, 2024 am 11:12 AM

프레젠테이션을 만들려고 하는데 애니메이션을 추가할 수 없나요? Windows PC의 PowerPoint에서 애니메이션이 작동하지 않는 경우 이 문서가 도움이 될 것입니다. 이것은 많은 사람들이 불평하는 일반적인 문제입니다. 예를 들어 Microsoft Teams에서 프레젠테이션을 진행하거나 화면을 녹화하는 동안 애니메이션이 작동하지 않을 수 있습니다. 이 가이드에서는 Windows용 PowerPoint에서 애니메이션이 작동하지 않는 문제를 해결하는 데 도움이 되는 다양한 문제 해결 기술을 살펴보겠습니다. PowerPoint 애니메이션이 작동하지 않는 이유는 무엇입니까? Windows에서 PowerPoint의 애니메이션이 작동하지 않는 문제를 일으킬 수 있는 몇 가지 가능한 이유는 다음과 같습니다.

CSS 애니메이션: 요소의 플래시 효과를 얻는 방법 CSS 애니메이션: 요소의 플래시 효과를 얻는 방법 Nov 21, 2023 am 10:56 AM

CSS 애니메이션: 요소의 플래시 효과를 얻으려면 특정 코드 예제가 필요합니다. 웹 디자인에서 애니메이션 효과는 때때로 페이지에 좋은 사용자 경험을 가져올 수 있습니다. 반짝이 효과는 요소를 더욱 눈길을 끌 수 있는 일반적인 애니메이션 효과입니다. 다음은 CSS를 사용하여 요소의 플래시 효과를 얻는 방법을 소개합니다. 1. 플래시의 기본 구현 먼저 CSS의 애니메이션 속성을 사용하여 플래시 효과를 구현해야 합니다. animation 속성의 값은 애니메이션 이름, 애니메이션 실행 시간, 애니메이션 지연 시간을 지정해야 합니다.

Ubuntu 24.04에 Angular를 설치하는 방법 Ubuntu 24.04에 Angular를 설치하는 방법 Mar 23, 2024 pm 12:20 PM

Angular.js는 동적 애플리케이션을 만들기 위해 자유롭게 액세스할 수 있는 JavaScript 플랫폼입니다. HTML 구문을 템플릿 언어로 확장하여 애플리케이션의 다양한 측면을 빠르고 명확하게 표현할 수 있습니다. Angular.js는 코드를 작성, 업데이트 및 테스트하는 데 도움이 되는 다양한 도구를 제공합니다. 또한 라우팅 및 양식 관리와 같은 많은 기능을 제공합니다. 이 가이드에서는 Ubuntu24에 Angular를 설치하는 방법에 대해 설명합니다. 먼저 Node.js를 설치해야 합니다. Node.js는 서버 측에서 JavaScript 코드를 실행할 수 있게 해주는 ChromeV8 엔진 기반의 JavaScript 실행 환경입니다. Ub에 있으려면

모모 상태 설정 방법 모모 상태 설정 방법 Mar 01, 2024 pm 12:10 PM

잘 알려진 소셜 플랫폼인 Momo는 사용자에게 일상적인 소셜 상호 작용을 위한 풍부한 기능적 서비스를 제공합니다. Momo에서는 사용자가 쉽게 자신의 생활 상태를 공유하고, 친구를 사귀고, 채팅 등을 할 수 있습니다. 그 중 상태 설정 기능을 통해 사용자는 자신의 현재 기분과 상태를 다른 사람에게 보여줄 수 있어 더 많은 사람들의 관심과 소통을 유도할 수 있다. 그렇다면 자신만의 모모 상태를 설정하는 방법에 대해 자세히 소개해드리겠습니다! Momo에서 상태를 설정하는 방법은 무엇입니까? 1. 모모를 열고 오른쪽 하단의 더보기를 클릭한 후 일일현황을 찾아 클릭하세요. 2. 상태를 선택하세요. 3. 설정 상태가 표시됩니다.

먼저 들어가서 종료되도록 PPT 애니메이션을 설정하는 방법 먼저 들어가서 종료되도록 PPT 애니메이션을 설정하는 방법 Mar 20, 2024 am 09:30 AM

우리는 일상 업무에서 PPT를 자주 사용하는데, PPT의 모든 조작 기능에 대해 잘 알고 계시나요? 예를 들면: ppt에서 애니메이션 효과를 설정하는 방법, 전환 효과를 설정하는 방법, 각 애니메이션의 효과 지속 시간은 어떻게 되나요? 각 슬라이드가 자동으로 재생되고, ppt 애니메이션에 들어갔다가 나올 수 있는지 등이 있습니다. 이번 호에서는 먼저 ppt 애니메이션에 들어가고 나가는 구체적인 단계를 알려드리겠습니다. 친구 여러분, 한 번 살펴보세요. 바라보다! 1. 먼저 컴퓨터에서 ppt를 열고 텍스트 상자 밖을 클릭하여 텍스트 상자를 선택합니다(아래 그림의 빨간색 원 참조). 2. 그런 다음 메뉴 바에서 [애니메이션]을 클릭하고 [삭제] 효과를 선택합니다(그림의 빨간색 원 참조). 3. 다음으로 [

2년의 연기 끝에 국내 3D 애니메이션 영화 '얼랑선:심해룡'이 7월 13일 개봉 예정이다. 2년의 연기 끝에 국내 3D 애니메이션 영화 '얼랑선:심해룡'이 7월 13일 개봉 예정이다. Jan 26, 2024 am 09:42 AM

이 사이트는 1월 26일 국내 3D 애니메이션 영화 '얼랑선:심해룡'이 최신 스틸컷을 공개하며 7월 13일 개봉을 공식 발표했다고 보도했다. "얼랑신: 심해 용"은 Mihuxing (Beijing) Animation Co., Ltd., Horgos Zhonghe Qiancheng Film Co., Ltd., Zhejiang Hengdian Film Co., Ltd., Zhejiang Gongying Film에서 제작한 것으로 이해됩니다. Co., Ltd., Chengdu Tianhuo Technology Co., Ltd.와 Huawen Image (Beijing) Film Co., Ltd.가 제작하고 Wang Jun이 감독한 애니메이션 영화는 원래 2022년 7월 22일 중국 본토에서 개봉될 예정이었습니다. . 이 사이트의 음모 개요 : 봉신 전투 후 강자야는 "봉신 목록"을 가져와 신을 나누고, 봉신 목록은 큐슈 심해 아래 천상 법원에서 봉인했습니다. 비밀 영역. 실제로, 신의 직위를 수여하는 것 외에도 부여신 목록에 봉인된 강력한 악령도 많이 있습니다.

서버 상태를 확인하는 방법 서버 상태를 확인하는 방법 Oct 09, 2023 am 10:10 AM

서버 상태를 보는 방법에는 명령줄 도구, 그래픽 인터페이스 도구, 모니터링 도구, 로그 파일 및 원격 관리 도구가 포함됩니다. 자세한 소개: 1. 명령줄 도구를 사용합니다. Linux 또는 Unix 서버에서는 명령줄 도구를 사용하여 서버 상태를 볼 수 있습니다. 2. 그래픽 인터페이스가 있는 서버 운영 체제의 경우 그래픽을 사용할 수 있습니다. 시스템에서 제공하는 인터페이스 도구를 사용하여 서버 상태를 확인합니다. 3. 모니터링 도구를 사용하여 실시간으로 서버 상태를 모니터링할 수 있습니다.

See all articles