zepto 入门
- 2017-03-17
- 文章来源:http://www.cnblogs.com/daysme
zepto 简介
- jq虽然有一些衍生的插件可用在移动端上,但它有点大。
- click 有,但有问题
- onmouseover 无
onmousemoser 无
touch
tap 像 pc 端的 click
300ms 用来判断点击有没有后续操作。
为了确认用户是单击还是双击。
由 iphone 也采用, android 后续采用。
移动端的所有 click 都要慢 300ms,
在移动端没有多少兼容问题,但 jq 有不少代码都是处理兼容的。
zepto 没有太多这些兼容代码,文件比较小。
zepto 本来的思想是让大家需要的功能自己加上去。所以核心代码只有7个模块。
- 然后也并不是谁都会封装的,封装也使 zepto 发展比较慢。
所以初学前期不建议去官网下载,而使用别人已经封装过其他功能的。
如果后期自己有了一些使用经验,感觉不够用时,再去 githup 下载源码,封装自己的版本。
实例
点击 tap
```
$(function(){
$(document).tap(function(){
alert(1);
})
})
```
触摸,按上去但没有松开手 touchstart
```
$(function(){
$(document).on('touchstart',function(){
console.log(1);
})
})
```
- 滑动,按住并移动 touchmove
离开屏幕,有时也用来代替点击 touchend
系统取消 touch 事件时。 touchcancel
- 安卓移动结束时触发 touchcancel 事件 ,
- 苹果正常触发 touchend 。
- 类似的兼容有表单输入时的输入法调用问题。
长按,750ms 时。 longTap
- 单击,和 tap 差不多。 singleTap
双击。 doubleTap
与 jquery 不同的, event 事件。在电脑上只有鼠标,在手机上有多个手指。
屏幕上的所有触点列表 e.touches
$(function(){ $(document).on('touchstart',function(e){ console.log(e.touches); }) })
触点一按下时的坐标 e.touches[0].clientX
```
$(function(){
$(document).on('touchstart',function(e){
console.log(e.touches[0].clientX);
})
})
```
- 位于 dom 上触点列表 e.targetTouches
涉及当前事件的触点列表 e.changedTouches
触点一离开时的坐标是多少?
- 因为手机和电脑不同,手机会有多个触点情况。所以不能直接通过 e.clientX 方式获取坐标。
- 移动端事件 event 里存在一个触点集合 touches 数组,通过获取数组的第一个元素来获取坐标位置,
- 也就是第一个触点的坐标。 e.touches[0].clientX e.touches[0].clientY 。
但是 touchend 事件代表触点离开屏幕,不存在触碰这一说。所以此时 e.touches 的长度是 0 。
- 也就是说不能再通过 touchend 的处理函数中获取坐标了。
- 需要通过 changedTouches 集合。
触点一离开时的坐标 e.changedTouches["0"].clientX
```
$(function(){
$(document).on('touchend',function(e){
console.log(e.touches); //长度为 0
console.log(e.changedTouches["0"].clientX);
})
})
```
如果需要获取 tap 的坐标,请使用 touchstart 。
```
$(function(){
$(document).on('touchstart',function(e){
console.log(e.changedTouches["0"].clientX);
})
})
```
从元素滑动 swipe
```
$(function(){
$(document).on('swipe',function(e){
console.log(1);
})
})
```
滑动方向, swipeUp/swipeRight/swipeDown/swipeLeft 如何斜着滑时,看哪边滑得多。
```
$(function(){
$(document).on('swipeUp',function(e){
console.log('swipeUp');
})
$(document).on('swipeRight',function(e){
console.log('swipeRight');
})
$(document).on('swipeDown',function(e){
console.log('swipeDown');
})
$(document).on('swipeLeft',function(e){
console.log('swipeLeft');
})
})
```
MD:
- 2017-03-17
- 文章来源:http://www.cnblogs.com/daysme
## zepto 简介 - jq虽然有一些衍生的插件可用在移动端上,但它有点大。
- click 有,但有问题
- onmouseover 无
- onmousemoser 无 - touch
- tap 像 pc 端的 click - 300ms 用来判断点击有没有后续操作。
- 为了确认用户是单击还是双击。 - 由 iphone 也采用, android 后续采用。
- 移动端的所有 click 都要慢 300ms, - 在移动端没有多少兼容问题,但 jq 有不少代码都是处理兼容的。
- zepto 没有太多这些兼容代码,文件比较小。 - zepto 本来的思想是让大家需要的功能自己加上去。所以核心代码只有7个模块。
- 然后也并不是谁都会封装的,封装也使 zepto 发展比较慢。
- 所以初学前期不建议去官网下载,而使用别人已经封装过其他功能的。 - 如果后期自己有了一些使用经验,感觉不够用时,再去 githup 下载源码,封装自己的版本。 ## 实例 **点击 tap** ```
$(function(){
$(document).tap(function(){
alert(1);
})
})
``` 触摸,按上去但没有松开手 touchstart ```
$(function(){
$(document).on('touchstart',function(){
console.log(1);
})
})
``` - 滑动,按住并移动 touchmove
- 离开屏幕,有时也用来代替点击 touchend - 系统取消 touch 事件时。 touchcancel
- 安卓移动结束时触发 touchcancel 事件 ,
- 苹果正常触发 touchend 。
- 类似的兼容有表单输入时的输入法调用问题。 - 长按,750ms 时。 longTap
- 单击,和 tap 差不多。 singleTap
- 双击。 doubleTap - 与 jquery 不同的, event 事件。在电脑上只有鼠标,在手机上有多个手指。 - 屏幕上的所有触点列表 e.touches ```
$(function(){
$(document).on('touchstart',function(e){
console.log(e.touches);
})
})
``` 触点一按下时的坐标 e.touches[0].clientX ```
$(function(){
$(document).on('touchstart',function(e){
console.log(e.touches[0].clientX);
})
})
``` - 位于 dom 上触点列表 e.targetTouches
- 涉及当前事件的触点列表 e.changedTouches - 触点一离开时的坐标是多少?
- 因为手机和电脑不同,手机会有多个触点情况。所以不能直接通过 e.clientX 方式获取坐标。
- 移动端事件 event 里存在一个触点集合 touches 数组,通过获取数组的第一个元素来获取坐标位置,
- 也就是第一个触点的坐标。 e.touches[0].clientX e.touches[0].clientY 。 - 但是 touchend 事件代表触点离开屏幕,不存在触碰这一说。所以此时 e.touches 的长度是 0 。
- 也就是说不能再通过 touchend 的处理函数中获取坐标了。
- 需要通过 changedTouches 集合。 触点一离开时的坐标 e.changedTouches["0"].clientX ```
$(function(){
$(document).on('touchend',function(e){
console.log(e.touches); //长度为 0
console.log(e.changedTouches["0"].clientX);
})
})
``` 如果需要获取 tap 的坐标,请使用 touchstart 。 ```
$(function(){
$(document).on('touchstart',function(e){
console.log(e.changedTouches["0"].clientX);
})
})
``` 从元素滑动 swipe ```
$(function(){
$(document).on('swipe',function(e){
console.log(1);
})
})
``` 滑动方向, swipeUp/swipeRight/swipeDown/swipeLeft 如何斜着滑时,看哪边滑得多。 ```
$(function(){
$(document).on('swipeUp',function(e){
console.log('swipeUp');
})
$(document).on('swipeRight',function(e){
console.log('swipeRight');
})
$(document).on('swipeDown',function(e){
console.log('swipeDown');
})
$(document).on('swipeLeft',function(e){
console.log('swipeLeft');
})
})
```
zepto 入门的更多相关文章
- Zepto入门
Zepto 的介绍 #什么是 Zepto zepto是轻量级的JavaScript库,专门为移动端定制的框架. 与jquery有着类似的API,俗称:会jquery就会用zepto #zepto的特点 ...
- http://www.imooc.com/video/4767 zepto教学视频笔记
一.介绍js移动端框架:zepto.js与jquery mobile 对比:zepto特点 1.与jquery相似度95%,会jquery基本会zepto: 2.API少,轻量级框架 3.移动端无缝接 ...
- 支持触屏的zepto轮播图插件
占个座,有时间再写,呵呵 关于zepto.js,官方标准版是不支持touch的.可以去github下载压缩包,里面有所有支持的模块.我用的zepto.js,是经过打包的,包括polyfill zept ...
- Zepto.js入门介绍
GitHub Zepto Zepto的一些可选功能是专门针对移动端浏览器的:因为它的最初目标在移动端提供一个精简的类似jquery的js库. Zepto不支持旧版本的Internet Explorer ...
- 11-移动端开发教程-zepto.js入门教程
Zepto.js是一个轻量级的针对现代浏览器的JavaScript库, 它与jquery有着类似的api. 如果你会用jquery,那么你也会用zepto. 1. Why Zepto.js? API类 ...
- zepto快速入门教程
* zepto* 特点:1.体积8kb2.针对移动端的框架3.语法同jquery大部分一样,都是$为核心函数4.目前功能完善的框架体积最小的左右* 同jquery相似的语法核心:$--作为函数使用参数 ...
- Javascript快速入门(下篇)
Javascript, cheer up. Ajax:其通过在Web页面与服务器之间建立一个额外的处理层,这个处理层就被称为Ajax引擎,它解释来自用户的请求,在后台以异步的方式处理服务器通信,其结构 ...
- Backbone入门
Backbone入门讲解 Backbone是一个实现了web前端mvc模式的js框架. 一种解决问题的通用方法,我们叫做模式. 设计模式:工厂模式,适配器模式,观察者模式等,推荐js设计模式这本书.设 ...
- 学习web前端怎样入门?初学者赶紧看过来!
web前端怎么样才能入门,首先我们要从什么是初级web前端工程师说起: 按照我的想法,我把前端工程师分为了入门.初级.中级.高级这四个级别, 入门级别指的是了解什么是前端(前端到底是什么其实很多人还是 ...
随机推荐
- 使用函数接口和枚举实现配置式编程(Java与Scala实现)
概述 做报表时,有时需要根据不同的业务生成不同的报表.这样,需要能够动态地配置列字段,并根据列字段来输出对应的报表.使用函数接口结合枚举可以比较优雅地实现配置式编程. 问题描述如下: 假设有对象 St ...
- hive 实现一个字段多行转一行 和 一行转多行
1.多行转一行 多行转一行可以通过concat_ws(',',collect_set(col_name)) as col_new的方式实现,可以参考:https://www.cnblogs.com/s ...
- JAVA 中的 Collection 和 Map 以及相关派生类的概念
JAVA中Collection接口和Map接口的主要实现类 Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的 ...
- Linux基础命令---文本统计paste
paste 将文件以行的方式合并在一起,用tab字符分隔开,将结果送到标准输出.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语 ...
- Step7:SQL Server 多实例下的复制
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 搭建步骤(Procedure) 注意事项(Attention) 二.背景(Contexts) ...
- axios post参数为空
今天在360浏览器访问时后台接收不到参数,但是用谷歌浏览器就能收到传入的值.
- TF-IDF基本原理
1.TF-IDF介绍 TF/IDF(term frequency–inverse document frequency)用以评估字词 对于一个文件集其中一份文件的重要程度.字词的重要性随着它在文件中出 ...
- 【附】Python安装
Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上. 首先要实现Python安装及环境变量配置,然后会得到Python解释器(就是负责运行Python程序的), ...
- c#md5加密的简单用法
using System.Security.Cryptography; //MD5 md5 = MD5.Create(); MD5 md5 = new MD5CryptoServiceProvider ...
- 如何获取STM32 MCU的唯一ID及应用(转)
源: 如何获取STM32 MCU的唯一ID