Html5百叶窗效果的示例代码


Posted in HTML / CSS onDecember 11, 2017

本文介绍了Html5百叶窗效果的示例代码,分享给大家,具体如下:

实现方法介绍:

1,百叶窗布局 用定位(position: absolute)覆盖在content布局之上,背景设置为透明(background-color: transparent)
2,keyframes定义淡入淡出(透明度改变)和百叶窗口效果动画。
3,启动动画是通过设置DOM的className属性的方法,animator.className = 'baiyeWindow'; 监听动画完成事件'animationend',要清除className属性。
4,在内容布局切换的事件,调用启动动画方法,两个布局都需要绑定切换事件 ng-click="switchLayout()"
5,动画执行时序图:

Html5百叶窗效果的示例代码
 

html代码:

<!--要显示百叶窗效果的布局--切换内容-->
<div id="fadeInOut" class="content"  ng-click="switchLayout()">
...
</div>
<!--百叶窗布局-->
 <ul id="baiyeWindow"  ng-click="switchLayout()">
       <li><div class="ye"></div></li>
        <li><div class="ye"></div></li>
        <li><div class="ye"></div></li>
        <li><div class="ye"></div></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('baiyeWindow');
            var animatorFadeInOut = document.getElementById('fadeInOut');
            animator.addEventListener('animationend', function () {
                animator.className = '';
                animatorFadeInOut.className = 'content';
            });
            $timeout(function () {
                animator.className = 'baiyeWindow';
                animatorFadeInOut.className = 'content fade-animation';
            }, 0);
        };

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
纯CSS实现菜单、导航栏的3D翻转动画效果
Apr 23 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
Aug 31 HTML / CSS
CSS3 display知识详解
Nov 25 HTML / CSS
CSS3 :default伪类选择器使用简介
Mar 15 HTML / CSS
CSS3实现全景图特效示例代码
Mar 26 HTML / CSS
css3实现可拖动的魔方3d效果
May 07 HTML / CSS
基于ccs3的timeline时间线实现方法
Apr 30 HTML / CSS
Android本地应用打开方法——通过html5写连接
Mar 11 HTML / CSS
HTML5 canvas标签实现刮刮卡效果
Apr 24 HTML / CSS
解决HTML5中滚动到底部的事件问题
Aug 22 HTML / CSS
iframe与window.onload如何使用详解
May 07 HTML / CSS
解决flex布局中子项目尺寸不受flex-shrink限制
May 11 HTML / CSS
详解如何通过H5(浏览器/WebView/其他)唤起本地app
Dec 11 #HTML / CSS
iphoneX 适配客户端H5页面的方法教程
Dec 08 #HTML / CSS
详解H5 活动页之移动端 REM 布局适配方法
Dec 07 #HTML / CSS
html5通过postMessage进行跨域通信的方法
Dec 04 #HTML / CSS
html5唤起app的方法
Nov 30 #HTML / CSS
Canvas与图片压缩的示例代码
Nov 28 #HTML / CSS
教你使用Canvas处理图片的方法
Nov 28 #HTML / CSS
You might like
php实现mysql数据库备份类
2008/03/20 PHP
php仿ZOL分页类代码
2008/10/02 PHP
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
JS 字符串连接[性能比较]
2009/05/10 Javascript
如何将JS的变量值传递给ASP变量
2012/12/10 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
Django实现跨域的2种方法
2019/07/31 Python
python 提取文件指定列的方法示例
2019/08/07 Python
Django 创建后台,配置sqlite3教程
2019/11/18 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
司机岗位职责说明书
2014/07/29 职场文书
作风建设年活动实施方案
2014/10/24 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
2015年幼儿教育工作总结
2015/07/24 职场文书
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL