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 相关文章推荐
css3 background属性调整增强介绍
Dec 18 HTML / CSS
实例讲解CSS3中的border-radius属性
Aug 18 HTML / CSS
6种非常炫酷的CSS3按钮边框动画特效
Mar 16 HTML / CSS
CSS3条纹背景制作的实战攻略
May 31 HTML / CSS
CSS3制作漂亮的照片墙的实现代码
Jun 08 HTML / CSS
利用CSS3实现平移动画效果示例代码
Oct 12 HTML / CSS
HTML5 video视频字幕的使用和制作方法
May 03 HTML / CSS
html5 canvas绘制矩形和圆形的实例代码
Jun 16 HTML / CSS
HTML5微信播放全屏问题的解决方法
Mar 09 HTML / CSS
小程序canvas中文字设置居中锚点
Apr 16 HTML / CSS
使用canvas一步步实现图片打码功能的方法
Jun 17 HTML / CSS
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
Dec 06 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网站备份程序代码分享
2011/06/10 PHP
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
用来解析.htgroup文件的PHP类
2012/09/05 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
js电信网通双线自动选择技巧
2008/11/18 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
2013/05/06 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
微信小程序开发教程-手势解锁实例
2017/01/06 Javascript
NodeJS设计模式总结【单例模式,适配器模式,装饰模式,观察者模式】
2017/09/06 NodeJs
js中的闭包实例展示
2018/11/01 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
python添加模块搜索路径方法
2017/09/11 Python
Python编写Windows Service服务程序
2018/01/04 Python
python中将字典形式的数据循环插入Excel
2018/01/16 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
django框架创建应用操作示例
2019/09/26 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
python装饰器代码深入讲解
2021/03/01 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
探索HTML5本地存储功能运用技巧
2016/03/02 HTML / CSS
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
毕业生就业自荐信
2013/12/04 职场文书
大学生秋游活动方案
2014/02/17 职场文书
工程项目建议书范文
2014/03/12 职场文书
消防宣传口号
2014/06/16 职场文书
五好家庭申报材料
2014/12/20 职场文书
通知格式
2015/04/27 职场文书
少先队工作总结2015
2015/05/13 职场文书
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js