Swiper+ ejs模板引擎+ iScroll插件知识总结

一. Swiper

swiper是一个应用于移动端的动画插件,原理类似于轮播图

  • 官网
  • html结构
    <div class="swiper-container">
        <div class="swiper-wrapper">
            <div class="swiper-slide">Slide 1</div>
            <div class="swiper-slide">Slide 2</div>
            <div class="swiper-slide">Slide 3</div>
        </div>
        
        <!-- 如果需要分页器 -->
        <div class="swiper-pagination"></div>
        
        <!-- 如果需要导航按钮 -->
        <div class="swiper-button-prev"></div>
        <div class="swiper-button-next"></div>
        
        <!-- 如果需要滚动条 -->
        <div class="swiper-scrollbar"></div>
    </div>  
    导航等组件可以放在container之外
  • 引入css样式文件和js文件
  • 初始化
    • 创建Swiper的实例
    var mySwiper = new Swiper ('.swiper-container', {
        direction: 'vertical',
        loop: true,
    
        // 如果需要分页器
        pagination: '.swiper-pagination',
    
        // 如果需要前进后退按钮
        nextButton: '.swiper-button-next',
        prevButton: '.swiper-button-prev',
    
        // 如果需要滚动条
        scrollbar: '.swiper-scrollbar',
    })
    • 在参数对象中使用特定的属性名和属性值,即可调用对应效果
    • 在AJAX异步请求中,swiper的初始化要在页面内容成功加载完成后进行

二. ejs模板引擎

ejs模板引擎与es6模板引擎一样,可以一次性的改变html结构,而不会引起多次的回流和重绘

  • 引入ejs.js文件
    • 原理上,通过解析模板字符串来创建一个有效的html结构字符串,再一次性的添加到指定的元素当中
  • 在html中编写对应的模板
    • script类型为text/template
    • 赋予特定的ID值
    • 所有的js代码必须使用<%%>包起来
      • 代码以行块的形式被解析,也就是一行中仅有js代码,那么整行都要用<%%>包起来
    • 变量引入时,使用<%=变量%>来调用变量
  • 在js中调用编写好的模板
    • 通过id值获取模板对应html内容
    • 使用ejs.render()方法来解析模板字符串
      • 第一个参数为对应的模板字符串
      • 第二个参数为一个对象,通过属性名为模板中的变量名,属性值为js中的变量名,来实现变量的传递
      • 返回值是解析完毕的模板字符串
    • 将上述返回的模板字符串添加到指定的DOM元素中即可

三. iScroll插件

iScroll是一款移动端使用的滚动插件,能实现上拉加载和下拉加载等特定的功能

  • 中文api文档
  • 引入对应的iScroll.js文件
  • 初始化
    • 创建iScroll的实例
      • 第一个参数为指定的DOM元素或者ID值
      • 第二个参数为参数对象
    var myIScroll=new iScroll("wrapper",{
        vScroll:true,
        momentum:true
    
    })
    • 参数设置
      • hScroll/vScroll:是否允许水平/垂直滚动
      • bounce:是否超过实际位置反弹
      • bounceLock:当内容少于滚动是否可以反弹
      • momentum:是否开启拖动惯性
      • lockDirection:当水平或垂直拖动时是否锁定另一边的拖动
      • useTransform:是否使用CSS变形
      • useTransition:是否使用CSS变换
      • checkDOMChanges:是否自动检测内容变化
      • topOffset:已经滚动的基准值(一般用在拖动刷新)
      • x:滚动水平初始位置(负值)
      • y:滚动垂直初始位置(负值)
      • Scrollbar的相关参数
        • hScrollbar/vScrollbar:是否显示水平/垂直滚动条
        • fixedScrollbar:在iOS系统上,当元素拖动超出了scroller的边界时,滚动条会收缩,设置为true可以禁止滚动条超出scroller的可见区域
        • hideScrollbar:是否隐藏滚动条
        • fadeScrollbar:滚动条是否渐隐渐显
      • Zoom放大相关的参数
        • zoom:是否放大
        • zoomMin:放大的最小倍数
        • zoomMax:放大的最大倍数
        • doubleTapZoom:双击放大倍数
      • Function 自定义函数
        • onRefresh:refresh的回调
        • onScrollStart:开始滚动的回调
        • onBeforeScrollMove:在内容移动前的回调
        • onScrollMove:内容移动的回调
        • onBeforeScrollEnd:在滚动结束前的回调
        • onScrollEnd:在滚动完成后的回调
        • onTouchEnd:手离开屏幕后的回调
        • onDestroy:销毁实例的回调
        • onZoomStart:放大开始时的回调
        • onZoom:放大的回调
        • onZoomEnd:放大结束后的回调
posted @ 2017-10-23 16:55  Scar007  阅读(655)  评论(0编辑  收藏  举报