移动端的网页特效

    移动端触屏事件概述

触屏touch事件

    touchstart 手指触摸到一个DOM元素时触发
    touchmove 手指在一个DOM上滑动时触发
    touchend 手指从一个DOM上移开时触发
    触摸事件对象
    touchstart事件对象
    touches 正在触摸屏幕的所有手指的列表
    targetTouches 正在触摸当前DOM元素的手指列表
    changedTouches 手指状态发生改变的列表 从无到有 或者 从有到无
    当我们手指离开的时候就没有了touches和targetTouches
    e.targetTouches[0] 获取当前触摸屏幕的第一个手指
 
 

返回顶部

    直接window.scroll(0, 0)就可以了,里面的数值不需要加单位
    或者可以叫上一个滑动的效果

移动端拖动原理

    手指移动中,计算出手指移动的距离.然后利用盒子原来的位置+手指移动的距离
    手指移动的距离:手指滑动的位置 - 手指刚开始触摸的位置
        .box {
width: 100px;
height: 100px;
background-color: pink;
position: absolute;
left:;
}
<div class="box"></div>
 var box = document.querySelector('.box')
var startX = 0; //获取手指的位置
var startY = 0;
var x = 0; //获取盒子原来的位置
var y = 0; box.addEventListener('touchstart', function (e) {
// 获取手指初始的位置
startX = e.targetTouches[0].pageX
startY = e.targetTouches[0].pageY
x = this.offsetLeft;
y = this.offsetTop;
}) box.addEventListener('touchmove', function (e) {
// 计算出手指的移动距离 手指移动后的坐标-手指的初始坐标
var moveX = e.targetTouches[0].pageX - startX;
var moveY = e.targetTouches[0].pageY - startY;
// 移动盒子 盒子原来的位置+手指移动的距离
this.style.left = x + moveX + 'px'
this.style.top = y + moveY + 'px'
e.preventDefault(); //阻止屏幕滚动的默认行为
})

最新文章

  1. tyvj1938 最优战舰
  2. android 悬浮覆盖状态栏的相关建议
  3. PL/SQL设置快捷键
  4. Constructing Roads In JGShining&#39;s Kingdom(HDU1025)(LCS序列的变行)
  5. 《深入理解Spark:核心思想与源码分析》(第2章)
  6. [Spring MVC] - SpringMVC的各种参数绑定方式
  7. python继承
  8. Delphi的内存管理及内存泄露问题 FastMM4
  9. InnoDB存储引擎
  10. uva 11609
  11. python实用函数
  12. IIS7、IIS6 web.config注册HttpModule
  13. Object类—复写equals方法,hashCode方法,toString方法
  14. SpringBoot2.0整合Redis
  15. vue常用的路由对象
  16. intellij idea 2018
  17. Burp Suite之Scaner模块(三)
  18. api资源
  19. Java中的包学习笔记
  20. Error:No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android

热门文章

  1. Mysql基础(六):索引、数据库备份、锁和事务、慢查询优化、索引命中相关
  2. 机器学习实战基础(十五):sklearn中的数据预处理和特征工程(八)特征选择 之 Filter过滤法(二) 相关性过滤
  3. 网易实战分享|云信IM SDK接口设计实践
  4. Ubuntu构建Docker私有仓库(Repository) 配置过程笔记
  5. python常见报错信息!错误和异常!附带处理方法
  6. accpet和connect设置超时
  7. 异常类throwable
  8. org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication
  9. Springboot(一)springboot简介与入门程序
  10. 你不知道的Java引用