热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Html5百叶窗效果怎么实现

这篇“Html5百叶窗效果怎么实现”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“Html5百叶窗效果怎么实现”,给大家总结了以下内

这篇“Html5百叶窗效果怎么实现”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“Html5百叶窗效果怎么实现”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们一起来看看具体内容吧。

html有什么特点

1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,适合初学前端开发者使用。 2、可扩展性:超级文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。  3、平台无关性:超级文本标记语言能够在广泛的平台上使用,这也是万维网盛行的一个原因。 4、通用性:HTML是网络的通用语言,它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。

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代码:


...

         
  •         
  •         
  •         
  •   

    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);
            };

    感谢你的阅读,希望你对“Html5百叶窗效果怎么实现”这一关键问题有了一定的理解,具体使用情况还需要大家自己动手实验使用过才能领会,快去试试吧,如果想阅读更多相关知识点的文章,欢迎关注编程笔记行业资讯频道!


    推荐阅读
    • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
    • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
      本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
    • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
    • 微信公众号推送模板40036问题
      返回码错误码描述说明40001invalidcredential不合法的调用凭证40002invalidgrant_type不合法的grant_type40003invalidop ... [详细]
    • 本文介绍了在使用 video.js 进行视频切换时遇到的播放错误,并提供了详细的解决方案。 ... [详细]
    • 解决Bootstrap DataTable Ajax请求重复问题
      在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
    • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
    • 本地存储组件实现对IE低版本浏览器的兼容性支持 ... [详细]
    • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
    • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
    • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
      在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
    • Web开发框架概览:Java与JavaScript技术及框架综述
      Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
    • 资源管理器的基础架构包括三个核心组件:1)资源池,用于将CPU和内存等资源分配给不同的容器;2)负载组,负责承载任务并将其分配到相应的资源池;3)分类函数,用于将不同的会话映射到合适的负载组。该系统提供了两种主要的资源管理策略。 ... [详细]
    • 单片微机原理P3:80C51外部拓展系统
        外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
    • 开机自启动的几种方式
      0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
    author-avatar
    铁狼爷们儿
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有