JS 등 속 과 감속 느 린 운동 을 실현 하 는 애니메이션 효과 패키지 예시
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>www.jb51.net JS / </title>
<style>
*{
margin: 0;
padding: 0;
}
.box1 {
width: 100px;
height: 100px;
background-color: pink;
margin-top: 10px;
position: relative;
}
.box2 {
width: 100px;
height: 100px;
background-color: red;
margin-top: 10px;
position: relative;
}
</style>
</head>
<body>
<button> </button>
<button> </button>
<div class="box1" ></div>
<div class="box2" ></div>
<script>
// = + 。
// 1. 。 ( )
// 2. 。 ( )
// 3. 。 ( , )
// ( , , ...)
// :
// 1. , 。
// 2. , 。
var box1 = document.getElementsByClassName("box1")[0];
var box2 = document.getElementsByClassName("box2")[0];
var but1 = document.getElementsByTagName("button")[0];
var but2 = document.getElementsByTagName("button")[1];
console.log(box1.offsetLeft);
but1.onclick = function () {
animate1(box1,200);
}
but2.onclick = function () {
animate2(box2,500);
}
//
function animate1(ele,target){
// ,
// , ,
//
clearInterval(ele.timer);
// ,
// ,
var speed = target>ele.offsetLeft?3:-3;
ele.timer = setInterval(function () {
//
var val = target - ele.offsetLeft;
ele.style.left = ele.offsetLeft + speed + "px";
// ,
// ,
if(Math.abs(val)<=Math.abs(speed)){
ele.style.left = target + "px";
clearInterval(ele.timer);
}
},30)
}
//
function animate2(ele,target) {
clearInterval(ele.timer); //
ele.timer = setInterval(function () {
// ( ) , 。
var step = (target-ele.offsetLeft)/10;
// ( 0 , 0 )
step = step>0?Math.ceil(step):Math.floor(step);
// : = +
console.log(step);
ele.style.left = ele.offsetLeft + step + "px";
//
if(Math.abs(target-ele.offsetLeft)<=Math.abs(step)){
ele.style.left = target + "px"; //
clearInterval(ele.timer);
}
},30);
}
</script>
</body>
</html>
온라인 HTML/CSS/JavaScript 코드 실행 도 구 를 사용 합 니 다http://tools.jb51.net/code/HtmlJsRun다음 과 같은 실행 효 과 를 얻 을 수 있 습 니 다.자 바스 크 립 트 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,,,,,,,,
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JS 판단 수조 네 가지 실현 방법 상세그러면 본고는 주로 몇 가지 판단 방식과 방식 판단의 원리를 바탕으로 문제가 있는지 토론하고자 한다. 예를 들어 html에 여러 개의 iframe 대상이 있으면 instanceof의 검증 결과가 기대에 부합되지 않을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.