웹 프론트엔드 JS 튜토리얼 js 모션 애니메이션_자바스크립트 스킬 8가지 지식 포인트

js 모션 애니메이션_자바스크립트 스킬 8가지 지식 포인트

May 16, 2016 pm 04:10 PM
js 생기 스포츠

오늘은 간단하게 js 모션 애니메이션을 배우고, 경험을 기록해서 모두와 공유했습니다.

제가 정리한 결과는 다음과 같습니다.

지식 1: 스피드 애니메이션.

1. 첫 번째 단계는 스피드 모션 애니메이션을 구현하고 함수를 캡슐화하는 것입니다. 사용된 지식은 setInterval(function(){

입니다.

코드 복사 코드는 다음과 같습니다.

  oDiv.style.left=oDiv.offsetLeft 10 "px";
},30).

여기서 offsetLeft를 사용한 이유에 대해 구체적으로 검색해 본 결과 유용한 정보는 다음과 같습니다.

a.offsetLeft와 left의 유사점은 상위 노드를 기준으로 하위 노드의 왼쪽 위치를 나타낸다는 것입니다.
b. 그러나 left는 읽고 쓸 수 있지만 offsetLeft는 읽기 전용입니다. c.그리고 offsetLeft에는 단위가 없으며 하위 노드의 위치를 ​​얻을 때 그 뒤에 px가 없습니다.

이 블로거

http://blog.163.com/hongshaoguoguo@126/blog/static/18046981201372885729561/님 덕분에 몇 가지 추가 지식을 얻었습니다.

2. 이동 노드를 중지합니다. 여기서는 if 문을 사용하여 확인합니다. offsetLeft==0,clearInterval(타이머)인 경우 여기의 타이머는 미리 초기화된 다음 이전 모션 애니메이션을 할당해야 합니다. 그것에.

3. 여기에 문제가 있습니다. 동작이 끝나기 전에 다시 동작이 시작되면 동작 전체가 시작되기 전에 ClearInterval(타이머)을 사용하는 한 동작 속도가 누적됩니다. 괜찮을 거예요.

4. 이동 및 제거 효과를 설정하고, 이동에 대한 매개변수를 설정합니다. 하나는 속도이고 다른 하나는 목표 위치 iTarget의 위치로도 속도를 판단할 수 있음을 발견했습니다. 따라서 하나의 매개변수만 필요합니다.

지식 2: 투명도 변화

1. 실제로 ITarget의 값이 투명성이라는 점과 프로세스가 여전히 타이머를 지운 다음 타이머를 열어 판단하는 등의 점을 제외하면 이전과 거의 동일합니다.

2. 매개변수 알파 = 투명도를 정의합니다. 타이머는 다음과 같이 작성되어야 합니다.

코드 복사 코드는 다음과 같습니다.
​알파 =속도;
oDiv.style.filter='alpha(opacity:' alpha ')'; //매우 중요한 메소드이므로 이렇게 작성하고 있으니 참고해주세요
oDiv.style.opacity=alpha/100; //100으로 나누는 것을 잊지 않도록 주의하세요

 3. 위는 모두 인라인 스타일입니다.

지식 3: 버퍼링 동작

1. 버퍼링 모션은 거리가 멀수록 속도가 빨라지고, 거리가 가까울수록 속도가 작아지는 것을 의미합니다. 즉, 속도는 거리와 관련이 있습니다.

2. 위의 설명에 따라 속도를 처음에는 0으로 재정의했지만 지금은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
var speed=iTarget-oDiv.offsetLeft;

타이머 재정의:

코드 복사 코드는 다음과 같습니다.
oDiv.style.left=oDiv.offset왼쪽 속도 'px';

이 시점에서 속도가 너무 빠르다는 것을 알았습니다. 다음과 같이 할 수 있습니다.

코드 복사 코드는 다음과 같습니다.
var 속도=(iTarget-oDiv.offsetLeft)/10;

3. 이때 심각한 문제가 발생합니다. 화면의 최소 단위가 px이기 때문에 최종 왼쪽 값이 타겟이 아닌 소수인 iTarget이 있을 것입니다. 이는 수학적으로 해결될 수 있습니다. 여기서는 반올림하는 Floor()와 반올림하는 Math.ceil()을 소개합니다. 속도를 정의한 후 다음과 같이 작성합니다.

코드 복사 코드는 다음과 같습니다.
속도=속도>0?Math.ceil(속도):Math.floor(속도);

이러한 방식으로 속도가 모두 정수이고 임계값에서 모두 0임을 완전히 보장합니다.

지식 4: 다중 객체 모션 

1. 먼저 모든 객체를 가져와서 배열을 만든 다음 for 루프를 사용하여 수행하고(이 방법은 얼마나 고전적인지!) for 루프에 노드 이벤트를 추가한 다음 이를 사용하여 함수, 예: startMove(this, iTarget), startMove(obj, iTarget) 함수를 정의할 때.

2. 현재 너비 offsetWidth를 가져올 때 obj 값을 사용해야 합니다.

3. 마우스가 매우 빠르게 움직이면 노드의 너비가 원래 상태로 복원되지 않습니다. 이는 타이머가 모든 사람에게 공통된 타이머이기 때문입니다. 이전 노드가 반환되기 전에 다음 노드가 타이머를 지웠습니다. 해결책은 각 노드에 인덱스를 추가하는 것입니다. 이는 위의 for 루프에 aDiv[i].timer=null;을 추가한 다음 정의된 함수에서 타이머를 obj.timer로 바꾸는 것입니다. 그러므로 공유 타이머에 어떤 일이 일어날 수 있다는 사실에 주의해야 합니다.

4. 투명도의 움직임에서는 알파가 속도를 대체하지만 타이머를 공유하지 않더라도 여러 개체의 움직임에 문제가 발생합니다. 이는 알파가 공유되어 각 개체가 서로 찢어지기 때문입니다. 해결책은 타이머와 같은 for 루프의 각 노드에 알파 할당과 같이 사용하는 것입니다.

요약: 충돌을 해결하려면 초기화하거나 개인화하세요.

지식 5. 스타일 얻기

1. 노드의 너비를 변경하는 타이머(이전용은 크게, 제거용은 작게)에서 노드에 테두리를 추가하면 입주할 때는 대상 노드보다 작아지고, 노드보다 커집니다. 이사할 때 대상 노드. 너비 패딩 스크롤 막대(스크롤 막대) 테두리에 주의하세요. 그 이유는 각 오프셋이 테두리*2를 증가시키기 때문입니다(타이머에서 값이 매번 감소함).

 2. 위의 문제를 해결하는 방법은 width를 line으로 작성하고 offsetLeft 대신에parseInt(oDiv.style.width)를 사용하는 것이다. 링크 스타일:

코드 복사 코드는 다음과 같습니다.

함수 getStyle(obj,attr){
  if(obj.currentStyle){
return obj.currentStyle[attr] //즉, 브라우저
  }
  그밖에{
return getComputerStyle(obj,false)[attr] //다른 브라우저
  }
}

3. 글꼴 크기의 경우 js에서 글꼴 크기를 쓰는 방법은 한 가지뿐입니다.

지식 6: 모든 속성 값

1. 모든 오프셋 유형에는 작은 버그가 있습니다. getStyle 함수를 사용해야 합니다. 이 함수는 주로 parsInt()와 함께 사용되며 일반적으로 변수에 저장됩니다.

2. style.width 작성시 style['width']도 작성할 수 있습니다. ​

3. 여러 객체의 속성 값을 조정하기 위해 스타일을 매개변수로 캡슐화하여 다중 객체 속성 함수에 세 가지 속성 값(obj, attr, iTarget)이 포함되도록 할 수 있습니다.

4. 위의 모션 프레임은 투명도가 소수이기 때문에 투명도 변경에 적합하지 않습니다. 두 가지 이유 때문에 첫 번째는parseInt이고 두 번째는 attr=...px입니다. 여기서는 If 해석을 사용하여 처리할 수 있습니다. 투명도를 별도로 설정하고,parseInt를parseFloat로 바꾸고, px를 제거하세요.

5. 컴퓨터 자체에 버그가 있어서 0.07*100이 7이 아니어서 반올림된 값인 Math.round()라는 함수를 소개합니다.

지식 7: 체인 모션

 1. move.js 프레임워크를 소개합니다.

2. 콜백 함수 fn()을 전달하고 if를 사용하여 fn()이 있는지 판단한 다음 fn()을 실행합니다.

지식 8: 동시 이동

1. 동시 모션을 제어하기 위해 두 개의 모션 함수를 작성하면 기능 커버리지가 발생합니다.

 2. json의 지식 포인트를 사용합니다. json의 루프는 for(i in json)를 사용하며 모션 함수의 매개변수는 obj, json, fn입니다.

3. 더 이상 iTarget 값이 없으며 json[attr]로 대체됩니다.

이 글을 마치며 모두 마음에 드셨으면 좋겠습니다. 또한 JS 모션 애니메이션을 배우는 모든 분들에게 도움이 되기를 바랍니다.

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

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

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

주식 분석을 위한 필수 도구: PHP 및 JS를 사용하여 캔들 차트를 그리는 단계를 알아보세요. 주식 분석을 위한 필수 도구: PHP 및 JS를 사용하여 캔들 차트를 그리는 단계를 알아보세요. Dec 17, 2023 pm 06:55 PM

주식 분석을 위한 필수 도구: PHP 및 JS에서 캔들 차트를 그리는 단계를 배우십시오. 인터넷과 기술의 급속한 발전으로 주식 거래는 많은 투자자에게 중요한 방법 중 하나가 되었습니다. 주식분석은 투자자의 의사결정에 있어 중요한 부분이며 캔들차트는 기술적 분석에 널리 사용됩니다. PHP와 JS를 사용하여 캔들 차트를 그리는 방법을 배우면 투자자가 더 나은 결정을 내리는 데 도움이 되는 보다 직관적인 정보를 얻을 수 있습니다. 캔들스틱 차트는 주가를 캔들스틱 형태로 표시하는 기술 차트입니다. 주가를 보여주네요

권장 사항: 우수한 JS 오픈 소스 얼굴 감지 및 인식 프로젝트 권장 사항: 우수한 JS 오픈 소스 얼굴 감지 및 인식 프로젝트 Apr 03, 2024 am 11:55 AM

얼굴 검출 및 인식 기술은 이미 상대적으로 성숙하고 널리 사용되는 기술입니다. 현재 가장 널리 사용되는 인터넷 응용 언어는 JS입니다. 웹 프런트엔드에서 얼굴 감지 및 인식을 구현하는 것은 백엔드 얼굴 인식에 비해 장점과 단점이 있습니다. 장점에는 네트워크 상호 작용 및 실시간 인식이 줄어 사용자 대기 시간이 크게 단축되고 사용자 경험이 향상된다는 단점이 있습니다. 모델 크기에 따라 제한되고 정확도도 제한됩니다. js를 사용하여 웹에서 얼굴 인식을 구현하는 방법은 무엇입니까? 웹에서 얼굴 인식을 구현하려면 JavaScript, HTML, CSS, WebRTC 등 관련 프로그래밍 언어 및 기술에 익숙해야 합니다. 동시에 관련 컴퓨터 비전 및 인공지능 기술도 마스터해야 합니다. 웹 측면의 디자인으로 인해 주목할 가치가 있습니다.

먼저 들어가서 종료되도록 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일 중국 본토에서 개봉될 예정이었습니다. . 이 사이트의 음모 개요 : 봉신 전투 후 강자야는 "봉신 목록"을 가져와 신을 나누고, 봉신 목록은 큐슈 심해 아래 천상 법원에서 봉인했습니다. 비밀 영역. 실제로, 신의 직위를 수여하는 것 외에도 부여신 목록에 봉인된 강력한 악령도 많이 있습니다.

PHP와 JS를 사용하여 주식 촛대 차트를 만드는 방법 PHP와 JS를 사용하여 주식 촛대 차트를 만드는 방법 Dec 17, 2023 am 08:08 AM

PHP와 JS를 사용하여 주식 캔들 차트를 만드는 방법 주식 캔들 차트는 주식 시장에서 흔히 사용되는 기술 분석 그래픽으로 시가, 종가, 최고가 등의 데이터를 그려서 투자자가 주식을 보다 직관적으로 이해할 수 있도록 도와줍니다. 주식의 최저 가격. 이 기사에서는 특정 코드 예제와 함께 PHP 및 JS를 사용하여 주식 캔들 차트를 만드는 방법을 설명합니다. 1. 준비 시작하기 전에 다음 환경을 준비해야 합니다. 1. PHP를 실행하는 서버 2. HTML5 및 Canvas를 지원하는 브라우저 3

미야자키 하야오 감독의 애니메이션 '로소 돼지'가 도반 점수 8.6으로 내년 1월 16일까지 연장됐다. 미야자키 하야오 감독의 애니메이션 '로소 돼지'가 도반 점수 8.6으로 내년 1월 16일까지 연장됐다. Dec 18, 2023 am 08:07 AM

본 사이트 소식에 따르면 미야자키 하야오 감독의 애니메이션 영화 '뽀코 로쏘'가 개봉일을 2024년 1월 16일로 연장한다고 밝혔습니다. 앞서 본 사이트는 '뽀코 로쏘'가 국립미술연맹 스페셜 라인 시네마에 론칭됐다고 보도한 바 있습니다. 11월 17일 누적 박스오피스 2,000~10,000 이상, 도우반 평점 8.6, 평점 4, 5점 85.8%를 기록했다. '로쏘'는 스튜디오 지브리가 제작하고 미야자키 하야오, 가토 토키코, 오츠카 아키오, 오카무라 아케미 등이 더빙에 참여한 작품이다. 이 영화는 미야자키 하야오의 만화 "비행선의 시대"를 각색한 것으로, 마법에 의해 돼지로 변신한 이탈리아 공군 에이스 조종사 폴록 로젠의 이야기를 담고 있습니다. 그 후 그는 현상금 사냥꾼이 되어 공중 강도와 싸우고 주변 사람들을 보호했습니다. 줄거리: 로젠은 제1차 세계대전에 참전한 군인입니다.

PHP 및 JS 개발 팁: 주식 캔들 차트 그리기 방법 익히기 PHP 및 JS 개발 팁: 주식 캔들 차트 그리기 방법 익히기 Dec 18, 2023 pm 03:39 PM

인터넷 금융의 급속한 발전으로 인해 주식 투자는 점점 더 많은 사람들의 선택이 되었습니다. 주식 거래에서 캔들 차트는 주가의 변화 추세를 보여주고 투자자가 보다 정확한 결정을 내리는 데 도움이 되는 일반적으로 사용되는 기술적 분석 방법입니다. 이 기사에서는 PHP와 JS의 개발 기술을 소개하고 독자가 주식 캔들 차트를 그리는 방법을 이해하도록 유도하며 구체적인 코드 예제를 제공합니다. 1. 주식 캔들 차트의 이해 주식 캔들 차트를 그리는 방법을 소개하기 전에 먼저 캔들 차트가 무엇인지부터 이해해야 합니다. 캔들스틱 차트는 일본인이 개발했습니다.

See all articles