JS는 접기 및 펼치기 애니메이션을 만듭니다(코드 포함).

php中世界最好的语言
풀어 주다: 2018-05-14 14:38:14
원래의
2542명이 탐색했습니다.

이번에는 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+&#39;px&#39;;
   }
   },30)
  }
  </script>
 </body>
</html>
로그인 후 복사


요약:

1. CSS 부분:

1. CSS 파일의 참조 방법을 검토하세요. . Review
절대 위치 지정
및 상대 위치 지정 관계(부모 관계는 relative를 사용하고 하위 관계는 absolute를 사용)

2. js 부분:

1,

element.style.left

& element.offsetLeft 차이: ① 전자의 단위는 문자열인 px이고, 후자의 단위는 숫자 값입니다.


2 처음에는 아이디어가 충분히 명확하지 않으며 배치의 주요 변수는 다음과 같습니다. 마우스를 움직이는 것은 추상화될 수 없습니다 - 대상 위치가 다를 뿐입니다

3.

함수 매개변수

는 가능한 한 적어야 합니다(목표를 달성할 수 있는 경우)4. 그렇지 않으면 깜박임이 발생합니다. (

onmouseover

가 방금 호출되었고, 대상이 제거되었다가 다시 호출되었습니다. onmouseout)5. 타이머 클리어에 주의하세요. (1. 이동 시 속도가 불안정해지는 것을 방지하기 위해 ②, 이동을 중지합니다. 대상 위치에서)

3. 기타:

Q: Chrome에서 팝업 창 차단을 해제하는 방법은 무엇인가요?

A: 설정 - 고급 설정 - 개인 정보 보호 설정 - 콘텐츠 설정 - 관련 설정을 할 수 있는 팝업 창입니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

vue+vue-router+vuex 작업 권한


v-bind 및 v-on 사용 사례에 대한 자세한 설명

위 내용은 JS는 접기 및 펼치기 애니메이션을 만듭니다(코드 포함).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!