zoukankan      html  css  js  c++  java
  • 基于swiper的移动端H5页面,丰富的动画效果

    概述

    通过运用swiper插件,制作移动端上下整屏滑动的H5页面,用来宣传或者简单注册等,可以嵌套H5音乐或者视频。

    详细

    目前对于H5方面有多个软件快餐,例如易企秀,人人秀等等,甚至连WPS都出了WPSH5。但是对于“高级程序工程师”来说,怎么会甘心只用鼠标傻瓜式的制作H5?

    给大家介绍一款插件,有丰富的动画效果已经滚动效果,用于上下整屏滑动等纵向滚动十分简便,还可用于PC和移动端的轮播,左右滑动等横向滚动。

    项目结构:需要引入swiper,zepto插件,其中swiper.animate是swiper的一部分,用于小模块的移入移出的动画效果。common.css是移动端的一个公共文件,定义html的font-size。

    接下来给大家简单介绍介绍用法:

    第一步:

    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">

    定义自适应宽度,禁止用户缩放,体验原生APP的效果。

    引入文件:

    <link rel="stylesheet" href="swiper.min.css">
    <link rel="stylesheet" href="animate.min.css">
    <link rel="stylesheet" href="common.css">
    
    
    <script src="zepto.js"></script>
    <script src="swiper.min.js"></script>
    <script src="swiper.animate.min.js"></script>

    第二步:

    给定盒子标签,swiper-slide即整屏的数目,对于滑动页面的数量,根据项目需要进行设置即可。

    QQ图片20171115100524.png

    第三步:

    初始化,定义参数,可参考swiperAPI文档

    var swiper = new Swiper('.swiper-container', {
            pagination: '.swiper-pagination',
            paginationClickable: true,
            direction: 'vertical',
            onInit: function(swiper){ //Swiper2.x的初始化是onFirstInit
                swiperAnimateCache(swiper); //隐藏动画元素 
                swiperAnimate(swiper); //初始化完成开始动画
              }, 
            onSlideChangeEnd: function(swiper){ 
                swiperAnimate(swiper); //每个slide切换结束时也运行当前slide动画
              } 
        });

    第四步:

    运用swiper.animate的功能,给其中每个单页中的单个模块添加动画:

    <div style="visibility:visible;" class="div1 ani" swiper-animate-effect="bounceInUp" swiper-animate-duration="0.5s" swiper-animate-delay="0.3"></div>

    只需在需要移入移出动画的标签中添加.ani类名,然后进行相应的动画类型,动画持续时间和延迟时间设置即可,十分简便。

    效果中我只设置了一个小模块,大家可以自行设置多个模块,然后通过持续时间,延迟时间来控制先手顺序,再配上各种效果,想想都酷,对不对。

    各类动画效果,具体可以参考动画效果

    注意:每个整屏上的各个模块均采用绝对定位的方式进行布局,简单粗暴,移动端的单位注意更换为rem。

    第五步:

    背景音乐采用audio标签,通过播放暂停按钮进行模拟控制。

    <div class="vi">
            <img src="zt.png" alt="">
            <audio id="aud" src="my.mp3" autoplay="autoplay">
                <!-- <source src="我的楼兰.mp3" type="audio/mp3">-->
                您的浏览器不支持audio标签
            </audio>
    </div>

    注意:最外面的盒子,要相对屏幕定位,同时设置z-index

     .vi{
            position: fixed;
            30px;
            height:30px;
            font-size: 0;
            top: 30px;
            left: 50px;
            z-index: 1000;
        }

    音乐的话有的手机系统不支持自动播放,大家可以通过touchstart等事件来模拟自动播放,只要用户一碰屏幕就会播放,是不是很“贼”,^_^。

    整体效果如下:

    注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

  • 相关阅读:
    架构中那些需要注意的事儿
    谈谈测试环境管理与实践
    响应式布局
    flex布局
    crontab定时任务
    SpringMVC Json自定义序列化和反序列化
    Tensorflow 使用TPU训练
    使用Selenium从IEEE与谷歌学术批量爬取BibTex文献引用
    Pyecharts——Python高级可视化
    Python图像处理库——PIL
  • 原文地址:https://www.cnblogs.com/demodashi/p/8491130.html
Copyright © 2011-2022 走看看