웹 프론트엔드 CSS 튜토리얼 JavaScript 변수를 사용하여 WebKit 키프레임 값을 동적으로 설정하려면 어떻게 해야 합니까?

JavaScript 변수를 사용하여 WebKit 키프레임 값을 동적으로 설정하려면 어떻게 해야 합니까?

Nov 29, 2024 pm 08:55 PM

How Can I Use JavaScript Variables to Dynamically Set WebKit Keyframe Values?

JavaScript를 사용하여 변수로 Webkit 키프레임 값 설정

JavaScript에서 생성된 무작위 값을 활용하려고 할 때 일반적인 문제에 직면합니다. CSS 애니메이션. JavaScript 변수는 CSS 키프레임에 직접 삽입할 수 없습니다.

대신 JavaScript를 통해 CSS 규칙을 동적으로 생성하고 CSSOM(CSS 객체 모델)에 삽입해야 합니다.

동적 키프레임 생성

키프레임을 생성하고 조작하려면 다음 단계를 따르세요. 동적으로:

  1. window.document.createElement() 메서드를 사용하여 원하는 키프레임 애니메이션 개체를 만듭니다. 이 객체는 키프레임 정의를 위한 컨테이너 역할을 합니다.
  2. keyframes.insertRule() 메서드를 사용하여 실제 키프레임을 정의합니다. 이 메서드는 키프레임 비율과 해당 비율에 대한 CSS 규칙이라는 두 가지 매개변수를 사용합니다.
  3. sheet.insertRule() 메서드를 사용하여 새로 생성된 키프레임 애니메이션을 CSSOM에 삽입합니다.

다음은 기존 키프레임을 동적으로 생성하고 덮어쓰는 예입니다. 임의 회전 값이 있는 애니메이션:

function createRandomRotation(dogValue) {
  // Create the keyframe animation object
  let rotateAnimation = window.document.createElement('style');

  // Define the actual keyframes
  rotateAnimation.innerHTML = `
    @-webkit-keyframes rotate {
      0% {-webkit-transform: rotate(-${dogValue});}
      100% {-webkit-transform: rotate(${dogValue});}
    }

    #dog {
      -webkit-animation: rotate 5s infinite alternate ease-in-out;
    }
  `;

  // Insert the keyframe animation into the CSSOM
  window.document.head.appendChild(rotateAnimation);
}
로그인 후 복사

사용

이 기능을 사용하면 회전 키프레임을 임의 값으로 지속적으로 업데이트할 수 있습니다. 예를 들어 클릭 이벤트를 트리거하여 새로운 임의 각도를 생성하고 그에 따라 키프레임을 업데이트하는 버튼이 있을 수 있습니다.

dogValue를 무작위로 생성된 각도 값으로 바꾸는 것을 잊지 마세요.

위 내용은 JavaScript 변수를 사용하여 WebKit 키프레임 값을 동적으로 설정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Smart Forms 프레임 워크로 JavaScript 연락처 양식 작성 Smart Forms 프레임 워크로 JavaScript 연락처 양식 작성 Mar 07, 2025 am 11:33 AM

Smart Forms 프레임 워크로 JavaScript 연락처 양식 작성

WordPress 블록 및 요소에 상자 그림자를 추가합니다 WordPress 블록 및 요소에 상자 그림자를 추가합니다 Mar 09, 2025 pm 12:53 PM

WordPress 블록 및 요소에 상자 그림자를 추가합니다

내용 부호 ​​속성으로 인라인 텍스트 편집기를 만듭니다 내용 부호 ​​속성으로 인라인 텍스트 편집기를 만듭니다 Mar 02, 2025 am 09:03 AM

내용 부호 ​​속성으로 인라인 텍스트 편집기를 만듭니다

스크린 독자를 탈취시킵니다. 액세스 가능한 양식 및 모범 사례 스크린 독자를 탈취시킵니다. 액세스 가능한 양식 및 모범 사례 Mar 08, 2025 am 09:45 AM

스크린 독자를 탈취시킵니다. 액세스 가능한 양식 및 모범 사례

GraphQL 캐싱 작업 GraphQL 캐싱 작업 Mar 19, 2025 am 09:36 AM

GraphQL 캐싱 작업

첫 번째 맞춤형 전환을 만듭니다 첫 번째 맞춤형 전환을 만듭니다 Mar 15, 2025 am 11:08 AM

첫 번째 맞춤형 전환을 만듭니다

5 개의 최고의 PHP 양식 빌더 (및 3 개의 무료 스크립트) 비교 5 개의 최고의 PHP 양식 빌더 (및 3 개의 무료 스크립트) 비교 Mar 04, 2025 am 10:22 AM

5 개의 최고의 PHP 양식 빌더 (및 3 개의 무료 스크립트) 비교

node.js 및 Express의 Multer와 함께 파일 업로드 node.js 및 Express의 Multer와 함께 파일 업로드 Mar 02, 2025 am 09:15 AM

node.js 및 Express의 Multer와 함께 파일 업로드

See all articles