移动端js事件以及相关库

2018-09-24  本文已影响25人  凌屿

移动端js事件

移动端的操作方式和PC端是不同的,移动端主要用手指操作,所以有特殊的touch事件,touch事件包括如下几个事件:

  1. touchstart: //手指放到屏幕上时触发
  2. touchmove: //手指在屏幕上滑动式触发
  3. touchend: //手指离开屏幕时触发
  4. touchcancel: //系统取消touch事件的时候触发,比较少用
  • 移动端一般有三种操作,点击、滑动、拖动,这三种操作一般是组合使用上面的几个事件来完成的,所有上面的4个事件一般很少单独使用,一般是封装使用来实现这三种操作,可以使用封装成熟的js库。

zeptojs

Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api。 如果你会用jquery,那么你也会用zepto。Zepto的一些可选功能是专门针对移动端浏览器的;它的最初目标是在移动端提供一个精简的类似jquery的js库。

  • touch模块封装了针对移动端常用的事件,可使用此模块进行移动端特定效果开发,这些事件有:
  • tap 元素tap的时候触发,此事件类似click,但是比click快。
  • longTap 当一个元素被按住超过750ms触发。
  • swipe, swipeLeft, swipeRight, swipeUp, swipeDown 当元素被划过时触发。(可选择给定的方向)

swiper

swiper.js是一款成熟稳定的应用于PC端和移动端的滑动效果插件,一般用来触屏焦点图、触屏整屏滚动等效果。 swiper分为2.x版本和3.x版本,2.x版本支持低版本浏览器(IE7),3.x放弃支持低版本浏览器,适合应用在移动端。

swiper使用方法:

<script type="text/javascript" src="js/swiper.min.js"></script>
......

<link rel="stylesheet" type="text/css" href="css/swiper.min.css">
......

<div class="swiper-container">
  <div class="swiper-wrapper">
    <div class="swiper-slide">slider1</div>
    <div class="swiper-slide">slider2</div>
    <div class="swiper-slide">slider3</div>
  </div>
    <div class="swiper-pagination"></div>
    <div class="swiper-button-prev"></div>
    <div class="swiper-button-next"></div>
</div>

<script> 
var swiper = new Swiper('.swiper-container', {
    pagination: '.swiper-pagination',
  prevButton: '.swiper-button-prev',
  nextButton: '.swiper-button-next',
    initialSlide :1,
  paginationClickable: true,
  loop: true,
  autoplay:3000,
  autoplayDisableOnInteraction:false
});
</script>
swiper使用参数:
  1. initialSlide:初始索引值,从0开始
  2. direction:滑动方向 horizontal | vertical
  3. speed:滑动速度,单位ms
  4. autoplay:设置自动播放及播放时间
  5. autoplayDisableOnInteraction:用户操作swipe后是否还自动播放,默认是true,不再自动播放
  6. pagination:分页圆点
  7. paginationClickable:分页圆点是否点击
  8. prevButton:上一页箭头
  9. nextButton:下一页箭头
  10. loop:是否首尾衔接
  11. onSlideChangeEnd:回调函数,滑动结束时执行

bootstrap

简单、直观、强悍的前端开发框架,让web开发更迅速、简单。 来自Twitter,是目前很受欢迎的前端框架之一。 Bootrstrap是基于HTML、CSS、JavaScript的,让书写代码更容易。 移动优先,响应式布局开发。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Bootstrap</title>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.min.js"></script>
    <script type="text/javascript">
        
    </script>
</head>
<body>
    <div class="container" style="background:gold;">固定宽度的容器</div>
    <br>
    <br>
    <div class="container-fluid" style="background:gold;">流体布局的容器</div>
</body>
</html>

bootstrap 容器

  • container-fluid 流体
  • container
  • 1170
  • 970
  • 750
  • 100%

bootstrap 栅格系统

bootstrap将页面横向分为12等分,按照12等分定义了适应不同宽度等分的样式类,这些样式类组成了一套响应式、移动设备优先的流式栅格系统:

  1. col-lg-
  2. col-md-
  3. col-sm-
  4. col-xs-
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>栅格系统</title>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <style type="text/css">
        div[class*='col-']{
            height: 50px;
            border: 1px solid black;
            background-color: gold;
        }
    </style>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.min.js"></script>
    <script type="text/javascript">
        
    </script>
</head>
<body>
    <div class="container" style="background: cyan;">
        container样式左右有15px的padding
    </div>
    <div class="container">
        <div class="row">
            <div class="col-lg-3">col-lg-3</div>
            <div class="col-lg-3">col-lg-3</div>
            <div class="col-lg-3">col-lg-3</div>
            <div class="col-lg-3">col-lg-3</div>
        </div>
        <br>
        <br>
        <div class="row">
            <div class="col-md-4">col-md-4</div>
            <div class="col-md-4">col-md-4</div>
            <div class="col-md-4">col-md-4</div>
        </div>
        <br>
        <br>
        <div class="row">
            <div class="col-sm-3">col-sm-3</div>
            <div class="col-sm-6">col-sm-6</div>
            <div class="col-sm-3">col-sm-3</div>
        </div>
        <br>
        <br>
        <div class="row">
            <div class="col-xs-1">col-xs-1</div>
            <div class="col-xs-7">col-xs-7</div>
            <div class="col-xs-4">col-xs-4</div>
        </div>
    </div>
</body>
</html>

bootstrap响应式查询区间:

  1. 大于等于768
  2. 大于等于992
  3. 大于等于1200
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>响应式布局</title>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <style type="text/css">
        .container{
            background-color: cyan;
        }
        .pic{
            height: 200px;
            max-width: 200px;
            background-color: gold;
            border: 1px solid black;
            margin: 0 auto 20px;
        }
    </style>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.min.js"></script>
    <script type="text/javascript">
        
    </script>
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-lg-3 col-md-4 col-sm-6">
                <div class="pic"></div>
            </div>
            <div class="col-lg-3 col-md-4 col-sm-6">
                <div class="pic"></div>
            </div>
            <div class="col-lg-3 col-md-4 col-sm-6">
                <div class="pic"></div>
            </div>
            <div class="col-lg-3 col-md-4 col-sm-6">
                <div class="pic"></div>
            </div>
            <div class="col-lg-3 col-md-4 col-sm-6">
                <div class="pic"></div>
            </div>
            <div class="col-lg-3 col-md-4 col-sm-6">
                <div class="pic"></div>
            </div>
            <div class="col-lg-3 col-md-4 col-sm-6">
                <div class="pic"></div>
            </div>
            <div class="col-lg-3 col-md-4 col-sm-6">
                <div class="pic"></div>
            </div>
        </div>
    </div>
</body>
</html>

bootstrap 表单:

  1. form 声明一个表单域
  2. form-inline 内联表单域
  3. form-horizontal 水平排列表单域
  4. form-group 表单组、包括表单文字和表单控件
  5. form-control 文本输入框、下拉列表控件样式
  6. checkbox checkbox-inline 多选框样式
  7. radio radio-inline 单选框样式
  8. input-group 表单控件组
  9. input-group-addon 表单控件组物件样式 10、input-group-btn 表单控件组物件为按钮的样式
  10. form-group-lg 大尺寸表单
  11. form-group-sm 小尺寸表单
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单</title>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <style type="text/css">
        
    </style>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.min.js"></script>
    <script type="text/javascript">
    </script>
</head>
<body>
    <!-- 
    <div class="container">
        <h1>表单</h1>
        <div class="form">
            <div class="form-group">
                <label for="">姓名</label>
                <input type="text" class="form-control" id="" placeholder="姓名">
            </div>
            <div class="form-group">
                <label for="">密码</label>
                <input type="password" class="form-control" id="" placeholder="密码">
            </div>
        </div>
        <br>
        <br>
        <h1>表单</h1>
        <div class="form">
            <div class="form-group">
                <label for="exampleInputEmail1">Email address</label>
                <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">
              </div>
              <div class="form-group">
                <label for="exampleInputPassword1">Password</label>
                <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
              </div>
              <div class="form-group">
                <label for="exampleInputFile">File input</label>
                <input type="file" id="exampleInputFile">
                <p class="help-block">Example block-level help text here.</p>
              </div>
              <div class="checkbox">
                <label>
                  <input type="checkbox"> Check me out
                </label>
              </div>
              <button type="submit" class="btn btn-default">Submit</button>
        </div>
    </div>
    <br>
    <br>
    <div class="container">
        <h1>内联表单域</h1>
        <div class="form-inline">
            <div class="form-group">
                <label for="exampleInputEmail1">Email address</label>
                <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">
              </div>
              <div class="form-group">
                <label for="exampleInputPassword1">Password</label>
                <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
              </div>
              <div class="form-group">
                <label for="exampleInputFile">File input</label>
                <input type="file" id="exampleInputFile">
                <p class="help-block">Example block-level help text here.</p>
              </div>
              <div class="checkbox">
                <label>
                  <input type="checkbox"> Check me out
                </label>
              </div>
              <button type="submit" class="btn btn-default">Submit</button>
        </div>
    </div>
    <br>
    <br>
    <div class="container">
        <h1>水平排列的表单</h1>
        <div class="form-horizontal">
            <div class="form-group">
                <label for="exampleInputEmail1" class="col-xs-2">Email address</label>
                <div class="col-xs-10">
                    <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">
                </div>
              </div>
        </div>
    </div>
     -->
    <br>
    <br>
    <div class="container">
        <h1>表单控件组</h1>
        <div class="input-group">
          <input type="text" class="form-control" placeholder="Username" aria-describedby="basic-addon1">
          <span class="input-group-addon" id="basic-addon1">@</span>
        </div>
    </div>
    <br>
    <br>
    <div class="container">
        <h1>按钮表单控件组</h1>
        <div class="input-group">
          <input type="text" class="form-control" placeholder="Username" aria-describedby="basic-addon1">
          <span class="input-group-btn" id="basic-addon1">
            <button class="btn btn-primary">go</button>
          </span>
        </div>
    </div>
    <br>
    <br>
    <div class="container">
        <h1>字体图标表单控件组</h1>
        <div class="input-group">
          <input type="text" class="form-control" placeholder="Username" aria-describedby="basic-addon1">
          <span class="input-group-btn" id="basic-addon1">
            <button class="btn btn-primary">
                <span class="glyphicon glyphicon-repeat"></span>
            </button>
          </span>
        </div>
    </div>
</body>
</html>

bootstrap 按钮

  1. btn 声明按钮
  2. btn-default 默认按钮样式
  3. btn-primay
  4. btn-success
  5. btn-info
  6. btn-warning
  7. btn-danger
  8. btn-link
  9. btn-lg
  10. btn-md
  11. btn-xs
  12. btn-block 宽度是父级宽100%的按钮
  13. active
  14. disabled
  15. btn-group 定义按钮组
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>按钮</title>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <style type="text/css">
        
    </style>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.min.js"></script>
    <script type="text/javascript">
    </script>
</head>
<body>
    <div class="container">
        <h1>按钮</h1>
        <button class="btn btn-default btn-lg">button按钮</button>

        <input type="button" class="btn btn-primary btn-sm" value="input按钮">

        <a href="#" class="btn btn-success btn-xs">a标签按钮</a>
        <a href="#" class="btn btn-info">a标签按钮</a>
        <a href="#" class="btn btn-warning">a标签按钮</a>
        <a href="#" class="btn btn-danger">a标签按钮</a>
    </div>
    <br>
    <br>
    <div class="container">
        <button class="btn btn-success btn-block">通栏按钮</button>
    </div>
    <br>
    <br>
    <!-- 按钮组 -->
    <div class="container">
        <div class="btn-group">
            <a href="#" class="btn btn-info">按钮01</a>
            <a href="#" class="btn btn-warning">按钮02</a>
            <a href="#" class="btn btn-danger">按钮03</a>
        </div>
    </div>
    <br>
    <br>
    <!-- 通栏按钮组,用于选项卡切换 -->
    <div class="container">
        <div class="btn-group btn-group-justified">
            <a href="#" class="btn btn-info">按钮01</a>
            <a href="#" class="btn btn-warning" style="margin: 10px;">按钮02</a>
            <a href="#" class="btn btn-danger">按钮03</a>
        </div>
    </div>
    <br>
    <br>
    <!-- 通栏按钮组用input标签做的话,要在每个外面包一层btn-group -->
    <div class="container">
        <div class="btn-group btn-group-justified">
            <div class="btn-group">
                <input type="button" class="btn btn-primary" value="按钮一">
            </div>
            <div class="btn-group">
                <input type="button" class="btn btn-warning" value="按钮二">
            </div>
            <div class="btn-group">
                <input type="button" class="btn btn-danger" value="按钮三">
            </div>
        </div>
    </div>
</body>
</html>

bootstrap 图片

bootstrap 隐藏类

  1. hidden-xs
  2. hidden-sm
  3. hidden-md
  4. hidden-lg

bootstrap 字体图标

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字体图标</title>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <style type="text/css">
        .glyphicon-music{
            color: yellow;
            font-size: 20px;
        }
        .edit{
            color: red;
            font-size: 20px;
        }
    </style>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.min.js"></script>
    <script type="text/javascript">
    </script>
</head>
<body>
    <div class="container">
        <h1>字体图标</h1>
        <button class="btn btn-primary">
            音乐
            <span class="glyphicon glyphicon-music" aria-hidden="true"></span>
        </button>
        <br>
        <br>
        <p><span class="glyphicon glyphicon-pencil edit" aria-hidden="true"></span>这是一个段落</p>
    </div>
</body>
</html>

bootstrap 下拉菜单

  1. dropdown-toggle
  2. dropdown-menu

bootstrap 选项卡

  1. nav
  2. nav-tabs
  3. nav-pills
  4. tab-content

bootstrap 导航条

  1. navbar 声明导航条
  2. navbar-default 声明默认的导航条样式
  3. navbar-inverse 声明反白的导航条样式
  4. navbar-static-top 去掉导航条的圆角
  5. navbar-fixed-top 固定到顶部的导航条
  6. navbar-fixed-bottom 固定到底部的导航条
  7. navbar-header 申明logo的容器
  8. navbar-brand 针对logo等固定内容的样式
  9. navbar-left 菜单靠左
  10. navbar-right 菜单靠右
  11. nav navbar-nav 定义导航条中的菜单
  12. navbar-form 定义导航条中的表单
  13. navbar-btn 定义导航条中的按钮
  14. navbar-text 定义导航条中的文本

bootstrap 模态框

  1. modal 声明一个模态框
  2. modal-dialog 定义模态框尺寸
  3. modal-lg 定义大尺寸模态框
  4. modal-sm 定义小尺寸模态框
  5. modal-header
  6. modal-body
  7. modal-footer
上一篇下一篇

猜你喜欢

热点阅读