JS 移动端笔记
2024-09-01 12:12:06
移动端的网页特效
移动端触屏事件概述
触屏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(); //阻止屏幕滚动的默认行为
})
最新文章
- tyvj1938 最优战舰
- android 悬浮覆盖状态栏的相关建议
- PL/SQL设置快捷键
- Constructing Roads In JGShining&#39;s Kingdom(HDU1025)(LCS序列的变行)
- 《深入理解Spark:核心思想与源码分析》(第2章)
- [Spring MVC] - SpringMVC的各种参数绑定方式
- python继承
- Delphi的内存管理及内存泄露问题 FastMM4
- InnoDB存储引擎
- uva 11609
- python实用函数
- IIS7、IIS6 web.config注册HttpModule
- Object类—复写equals方法,hashCode方法,toString方法
- SpringBoot2.0整合Redis
- vue常用的路由对象
- intellij idea 2018
- Burp Suite之Scaner模块(三)
- api资源
- Java中的包学习笔记
- Error:No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
热门文章
- Mysql基础(六):索引、数据库备份、锁和事务、慢查询优化、索引命中相关
- 机器学习实战基础(十五):sklearn中的数据预处理和特征工程(八)特征选择 之 Filter过滤法(二) 相关性过滤
- 网易实战分享|云信IM SDK接口设计实践
- Ubuntu构建Docker私有仓库(Repository) 配置过程笔记
- python常见报错信息!错误和异常!附带处理方法
- accpet和connect设置超时
- 异常类throwable
- org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication
- Springboot(一)springboot简介与入门程序
- 你不知道的Java引用