>  기사  >  웹 프론트엔드  >  js를 사용하여 360 부팅 효과 모방

js를 사용하여 360 부팅 효과 모방

王林
王林앞으로
2020-04-07 09:24:322607검색

js를 사용하여 360 부팅 효과 모방

효과를 얻으려면:

사진 닫기 버튼을 클릭하여 먼저 아래로 종료한 다음 오른쪽으로 종료하세요.

구현 단계:

1. 모션 기능을 캡슐화합니다.

2. 그림에 닫을 상자를 설정합니다.

3. 클릭 후 닫는 상자에 대한 클릭 이벤트를 등록합니다.

4. 0, easing 애니메이션 설정

5. 위 그림의 너비는 0입니다. easing 애니메이션 설정

Easing 애니메이션 코드(콜백 기능 포함): `

 function getStyle(obj,attr){ //兼容性写法获得样式
        if(window.getComputedStyle){ 
          return window.getComputedStyle(obj, null)[attr];
        }else{
          return obj.currentStyle[attr];
        }
      }
       function animate(obj, json, speed, callback){
        clearInterval(obj.timer);
        obj.timer = setInterval(function(){
          var flag = true;
          for(var attr in json){
          var current = parseInt(getStyle(obj,attr));
          var step = (json[attr] - current) / 10;
           step = step > 0 ? Math.ceil(step) : Math.floor(step);
           obj.style[attr] = current + step +'px';
          if(current != json[attr]){
            flag = false;
          }
        }
         if(flag){ 
          clearInterval(obj.timer);
          if(callback && typeof callback == 'function'){ //验证callback是否传递,传递的话看是否是函数类型
           callback();
          }
         }
        },speed);
      }

두 장의 그림으로 구성된 부팅 그림

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title></title>
  <style>
    .box{
      width: 322px;
      position: fixed;
      bottom:0;
      right:0;
    }
    span{
      position: absolute;
      top:0;
      right:0;
      width:30px;
      height: 20px;
      cursor: pointer;
    }
    .box img{
      vertical-align: top;
    }
  </style>
  <script type="text/javascript" src="函数封装.js"></script>
  <script type="text/javascript">
    function $(id){
      return document.getElementById(id);
    }
    window.onload = function(){
      var span = document.getElementsByTagName(&#39;span&#39;)[0];
      var box = $(&#39;box&#39;);
      var bottom = $(&#39;bt&#39;);
      var top = $(&#39;hd&#39;);
      span.onclick = function(){
        var json = {"height": 0};
        animate(bottom,json,20,function(){
        animate(box,{"width":0},20);
        });
      }
    }
  </script>
</head>
<body>
<div id="box">
  <span></span>
  <div id="hd">
    <img src="images/t.jpg" alt=""/>
  </div>
  <div id="bt">
    <img src="images/b.jpg" alt=""/>
  </div>
</div>
</body>
</html>

효과는 다음과 같습니다:

js를 사용하여 360 부팅 효과 모방

추천 관련 튜토리얼: js tutorial

위 내용은 js를 사용하여 360 부팅 효과 모방의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제