移动端的网页特效

    移动端触屏事件概述

触屏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(); //阻止屏幕滚动的默认行为
})

JS 移动端笔记的更多相关文章

  1. JS SDK 随手笔记

    JS SDK 随手笔记 窗口模块 Frame/Multi Frame 对话框 页面间的通讯 生命周期 窗口层叠 窗口模块 窗口模块是是AppCan移动应用界面最基本的单位.窗口是每个界面布局的基础,他 ...

  2. js再学习笔记

    #js再学习笔记 ##基本 1.js严格区分大小写   2.js末尾的分号可加,也可不加   3.六种数据类型(使用typeof来检验数据的类型) `typeof` - undefined: `var ...

  3. js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定

    js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定 addEventListener()与removeEventListener( ...

  4. 纯原生js移动端城市选择插件

    接着上一篇纯js移动端日期选择插件,话说今天同事又来咨询省市县联动的效果在移动端中如何实现,还是老样子,百度上一搜,诶~又全是基于jquery.zepto的,更加可恨的是大多数都是PC版的,三个sel ...

  5. JS数组学习笔记

    原文:JS数组学习笔记 最近在备课数组,发现很多ES5的方法平时很少用到.细节比较多,自己做了大量例子和整理,希望对大家了解JavaScript中的Array有所帮助. 概念 数组是值的有序集合.每个 ...

  6. ASP.NET Core 与 Vue.js 服务端渲染

    http://mgyongyosi.com/2016/Vuejs-server-side-rendering-with-aspnet-core/ 原作者:Mihály Gyöngyösi 译者:oop ...

  7. 原生js移动端列表无缝间歇向上滚动

    在项目开发中尤其是在项目的活动页面的开发中,经常需要将用户的购买信息或中奖信息等以列表的形式展示在页面当中,并可以使其自动间歇向上滚动来达到在有限的区域内展示所有信息的目的.通常的做法是通过将列表父元 ...

  8. node.js服务端程序在Linux上持久运行

    如果要想在服务端部署node.js程序,让其持久化运行,就不能单单使用npm start命令运行,当然了,这样运行是毫无问题的,但是当关闭xshell窗口或者是关闭进程的时候(其实关闭xshell窗口 ...

  9. JS神经网络deeplearn.js:浏览器端机器智能框架

    JS神经网络deeplearn.js:浏览器端机器智能框架 通过 deeplearn.js,可以实现在浏览器中训练神经网络模型,也可在推理阶段运行预训练模型. deeplearn.js 以 TypeS ...

随机推荐

  1. java 面向对象(十一):关键字:package/import

    1.1 使用说明: * 1.为了更好的实现项目中类的管理,提供包的概念 * 2.使用package声明类或接口所属的包,声明在源文件的首行 * 3.包,属于标识符,遵循标识符的命名规则.规范(xxxy ...

  2. 机器学习实战基础(三十七):随机森林 (四)之 RandomForestRegressor 重要参数,属性与接口

    RandomForestRegressor class sklearn.ensemble.RandomForestRegressor (n_estimators=’warn’, criterion=’ ...

  3. 三、Python系列——Pandas数据库读取数据

    Pandas主要先读取表格类型的数据,然后进行分析. import pandas as pd# 由于是用pandas模块操作数据,因此不用在路径前加open,否则就是python直接打开文件,可能还会 ...

  4. 设计模式:state模式

    核心: 把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化 例子: class State //状态接口 { public: virtual void show() = 0; ...

  5. abp vnext 开发快速入门 4 跨域设置

    由于项目采用的微服务框架,前端与后端交互难免有跨域的问题.abp vnext实现跨域也很简单,只需要设置几处就可以了,这里只讲全局的跨域,至于局部的Action如何跨域请自行搜索.netcore 跨域 ...

  6. Go操作腾讯云COS对象存储的简单使用案例

    准备环境 安装Go环境 Golang:用于下载和安装 Go 编译运行环境,请前往 Golang 官网进行下载 安装SDK go get -u github.com/tencentyun/cos-go- ...

  7. 水题----B - Badge CodeForces - 1020B

    In Summer Informatics School, if a student doesn't behave well, teachers make a hole in his badge. A ...

  8. nginx--做为负载均衡使用

    在之前的文章中,我们通过服务代理的方式已经看到了Nginx有作为负载均衡服务的功能了,在这篇文章中,我会讲解Nginx的基本的负载均衡的使用.backup状态演示.轮询策略和加权轮询.负载均衡策略ip ...

  9. Glide:重新加载失败的问题

    Glide在url不变,内容改变的时候重新加载还会显示第一张图片, 解决方法: https://blog.csdn.net/u013420865/article/details/53197788?de ...

  10. 你不知道的Java引用

    什么是引用   引用就是保存着一块地址(门牌号)的对象,就像C语言的指针那样,引用可以传递某个数据的地址,如果我们想拿到某一条数据,就要先找到他的地址,然后告诉计算机我去拿这个地址的数据,最后计算机就 ...