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的transform做的动态时钟效果
Sep 21 HTML / CSS
基于CSS3实现立方体自转效果
Mar 01 HTML / CSS
CSS3标注引用的出处和来源的方法
Feb 25 HTML / CSS
纯CSS3实现移动端展开和收起效果的示例代码
Apr 26 HTML / CSS
CSS 3.0 结合video视频实现的创意开幕效果
Jun 01 HTML / CSS
详解HTML5 LocalStorage 本地存储
Dec 23 HTML / CSS
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
Dec 25 HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
May 07 HTML / CSS
HTML5 transform三维立方体实现360无死角三维旋转效果
Aug 22 HTML / CSS
Html5饼图绘制实现统计图的方法
Aug 05 HTML / CSS
教你做个可爱的css滑动导航条
Jun 15 HTML / CSS
基于CSS制作创意端午节专属加载特效
Jun 01 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
怎样在UNIX系统下安装php3
2006/10/09 PHP
php中adodbzip类实例
2014/12/08 PHP
PHP常见错误提示含义解释(实用!值得收藏)
2016/04/25 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
JavaScript入门教程(10) 认识其他对象
2009/01/31 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
js二级地域选择的实现方法
2013/06/17 Javascript
jquery SweetAlert插件实现响应式提示框
2015/08/18 Javascript
详解JavaScript函数
2015/12/01 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
2018/05/21 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
详解Angular6 热加载配置方案
2018/08/18 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
python跳出双层for循环的解决方法
2019/06/24 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
python集合常见运算案例解析
2019/10/17 Python
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
“学雷锋活动月”总结
2014/03/09 职场文书
帮一个朋友写的求职信
2014/08/09 职场文书
会计求职简历自我评价
2015/03/10 职场文书
病危通知书样本
2015/04/17 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
Python函数对象与闭包函数
2022/04/13 Python
JS前端可扩展的低代码UI框架Sunmao使用详解
2022/07/23 Javascript