이번에는 간단한 접기 및 펼치기 애니메이션을 구현하기 위해 JS를 조작하는 방법을 보여 드리겠습니다. JS를 사용하여 간단한 접기 및 펼치기 애니메이션을 구현하기 위한 주의 사항은 무엇입니까?
<!DOCTYPE = html> <html> <head> <title>JS折叠展开动画</title> <style> body{ margin: 0px; padding: 0px; } .red{ background-color:red; width:200px; height:200px; position:relative; left:-200px; top:0px; } .blue{ background:blue; width:20px; height:50px; position:absolute; left:200px; top:75px; } </style> </head> <body> <p class="red" id="cf1"><p class="blue" id="cf">分享</p></p> <script> window.onload = function(){ var onp = document.getElementById("cf1"); onp.onmouseover = function(){ startmove(0); } onp.onmouseout = function(){ startmove(-200); } } var timer ; function startmove(target){ clearInterval(timer);//清除定时器,以免多次触发定时器导致速度越来越快而不是匀速前进 var onp1 = document.getElementById("cf1"); timer = setInterval(function(){ var speed = 0; if(onp1.offsetLeft<target){ speed = 10; }else{ speed = -10; } if(onp1.offsetLeft==target){ clearInterval(timer); } else{ onp1.style.left = onp1.offsetLeft+speed+'px'; } },30) } </script> </body> </html>
작동 효과:
요약:1. CSS 부분:
1. CSS 파일의 참조 방법을 검토하세요. 참조 방법) 3.
절대 위치 지정 및 상대 위치 지정 관계를 검토합니다(부모 관계는
상대
사용, 하위 관계는 절대 사용) 2. js 부분:
1, element.style.left &
element .offsetLeft차이: ① 전자의 단위는 문자열이고 후자의 단위는 숫자 값입니다. ② 기타 참조: http://www.jb51.net/article /43981.htm
2. 처음에는 아이디어가 부족합니다. 마우스 배치 및 이동의 핵심 변수를 명확하게 추상화하지 못했습니다. 대상 위치가 다를 뿐입니다
3.
를 최대한 적게 합니다. 목표를 달성할 수 있는 경우)
4. 마우스 액션 개체가 상위 레벨 p로 설정되는 것이 가장 좋습니다. 그렇지 않으면 깜박임이 발생합니다. (onmouseover가 방금 호출되고 대상이 제거되었으며
onmouseout이 다시 호출되었습니다.) 5. 타이머 클리어에 주의하세요(1, 이동 시 불안정한 속도 방지를 위해 ②, 목표 위치로 정지 모션)
3. 기타:Q: Chrome에서 팝업 창을 차단할 수 있나요? A: 설정 - 고급 설정 - 개인 정보 보호 설정 - 콘텐츠 설정 - 관련 설정을 할 수 있는 팝업 창입니다.
이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 도서:
JS에서 DOM 노드를 사용하는 방법위 내용은 JS를 사용하여 간단한 접기 및 펼치기 애니메이션을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!