>  기사  >  웹 프론트엔드  >  HTML5 셔터 효과 코드

HTML5 셔터 효과 코드

不言
不言원래의
2018-07-03 11:53:053229검색

이 글에서는 HTML5 셔터 효과의 샘플 코드를 주로 소개합니다. 내용이 꽤 괜찮아서 참고용으로 올려보겠습니다.

이 글에서는 HTML5 블라인드 효과의 샘플 코드를 소개하고, 자세한 내용은 다음과 같습니다.

구현 방법 소개:

1 블라인드 레이아웃은 내용을 가리기 위해 위치 지정(위치: 절대)을 사용합니다. 레이아웃, 배경은 투명으로 설정됩니다( background-color: transparent)
2, 키프레임은 페이드 인 및 페이드 아웃(투명도 변경) 및 블라인드 창 효과 애니메이션을 정의합니다.
3. DOM의 className 속성을 설정하여 애니메이션을 시작합니다. animator.className = 'baiyeWindow'; 애니메이션 완료 이벤트 'animationend'를 수신하고 className 속성을 지웁니다.
4. 콘텐츠 레이아웃 전환 시 시작 애니메이션 메서드를 호출하세요. 두 레이아웃 모두 전환 이벤트 ng-click="switchLayout()"
5. 애니메이션 실행 타이밍 다이어그램:


html 코드 :

<!--要显示百叶窗效果的布局--切换内容-->
<p id="fadeInOut" class="content"  ng-click="switchLayout()">
...
</p>
<!--百叶窗布局-->
 <ul id="baiyeWindow"  ng-click="switchLayout()">
       <li><p class="ye"></p></li>
        <li><p class="ye"></p></li>
        <li><p class="ye"></p></li>
        <li><p class="ye"></p></li>
  </ul>

css 스타일 코드:

  //谈入谈出效果
 .fade-animation{
        @-webkit-keyframes fadeInOut {
          0% {
            opacity: 1;
          }
          50% {
            opacity: 0;
          }
          100% {
            opacity: 1;
          }
        }
    @keyframes fadeInOut {
          0% {
            opacity: 1;
          }
          50% {
            opacity: 0;
          }
          100% {
            opacity: 1;
          }
        }
        animation: fadeInOut 1s ease-in;
        -webkit-animation: fadeInOut 1s ease-in;
      }
      //百叶窗效果
      .baiyeWindow{
        width: 100%;
        height: 1.68rem;
        position: absolute;
        left: 0;
        top: 1.2rem;
        li{
          height: 0.42rem;
          line-height: 40px;
          overflow: hidden;
          background-color: transparent;
          .ye{
            -webkit-animation: slideOut 1s ease-in-out;
            animation: slideOut 1s ease-in-out;
            width: 100%;
            background-color: rgba(0,0,0,.2);
            position: relative;
            top: 50%;
          }
        }
        @-webkit-keyframes slideOut {
          0% {
            padding-bottom: 0;
            top: 50%;
          }
          100% {
            padding-bottom: 40px;
            top: 0;
          }
        }
        @keyframes slideOut {
          0% {
            padding-bottom: 0;
            top: 50%;
          }
          100% {
            padding-bottom: 40px;
            top: 0;
          }
        }
      }

JS 코드:

//切换布局
$scope.switchLayout = function(){
    ...
    $scope.startBaiYeWindow();
    //启动动画0.5s后,控制布局显示/隐藏
    $timeout(function () {
             if ($scope.show) {
                  $scope.show = false;
              } else {
                    ....
              }
     }, 500);
 }
//启动动画
        $scope.startBaiYeWindow = function () {
            var animator = document.getElementById(&#39;baiyeWindow&#39;);
            var animatorFadeInOut = document.getElementById(&#39;fadeInOut&#39;);
            animator.addEventListener(&#39;animationend&#39;, function () {
                animator.className = &#39;&#39;;
                animatorFadeInOut.className = &#39;content&#39;;
            });
            $timeout(function () {
                animator.className = &#39;baiyeWindow&#39;;
                animatorFadeInOut.className = &#39;content fade-animation&#39;;
            }, 0);
        };

위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 콘텐츠 PHP 중국어 웹사이트에 주목하세요!

관련 추천:

html5 캔버스 WeChat 포스터에 대한 소개 공유

캔버스로 동적 공 중첩 효과 코드 구현

위 내용은 HTML5 셔터 효과 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.