Html5 移动端 触摸滑动事件
以下代码经过测试 没有问题 且可以循环滑动
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>html5测试</title>
    <link href="Css/Index.css" rel="stylesheet" />
</head>
<body>
    <div id="Index" style="text-align: center; width: auto;">
        <img src="img/1.jpeg" class="imagestart" style="display: block;" data-id="1" />
        <img src="img/2.jpeg" class="imagestart" data-id="2" />
        <img src="img/3.jpeg" class="imagestart" data-id="3" />
    </div>
    <script src="/js/jquery-1.12.4.min.js"></script>
    <script>
        //初始化获取浏览器的屏幕的宽度
        var LoadWidth = parseInt($(window).width());
        //初始化触摸起点X轴
        var loadX = 0;
        //初始化触摸起点Y轴
        var loadY = 0;
        //初始化鼠标松开的X轴
        var MoveUp = 0;
$(function () {
            //
            $(".imagestart").on('touchstart', function (e) {
                var id = e.originalEvent.targetTouches[0];
                //获取鼠标的起始位置x
                var x = id.pageX;
                //赋值起始位置x
                loadX = x;
                //点击时赋值鼠标起来的坐标 在移动的时候会更新这个变量
                MoveUp = x;
                //获取鼠标的起始位置y
                var y = id.pageY;
                loadY = y;
                $(this).css('position', 'fixed');
            })
            //
//
            $(".imagestart").on("touchmove", function (e) {
                var id = e.originalEvent.targetTouches[0];
                //获取鼠标的每次移动位置x
                var x = id.pageX;
                MoveUp = x;
                //获取鼠标的每次移动位置y
                var y = id.pageY;
                var ThisLoad = $(this);var ddd = x - loadX;
                //移动元素
                ThisLoad.animate({ 'left': x - loadX + "px" }, 0);
                
                if ($(this).attr("data-id") == 3) {
                    //$(".imagestart").hide();
                    $(".imagestart").eq(0).show();
                } else {
                    $(this).next().show();
                }
            })
            //
//
            $(".imagestart").on("touchend", function (e) {
                //当手指松开的时候  计算鼠标移动开始到结束 x轴变化多少
                var MoveX = loadX - MoveUp;
                if (MoveX<0) {
                    MoveX = MoveUp - loadX;
                }
                
                $(".imagestart").css("left", "0px");
                //如果移动的x轴  大于浏览器宽度的3/10 则换图片
                if (MoveX / LoadWidth > 0.4) {
                    if ($(this).attr("data-id") == 3) {
                        //隐藏所有
                        $(".imagestart").hide();
                        //清空元素的style
                        $(".imagestart").removeAttr("style");
                        //让第一个显示
                        $(".imagestart").eq(0).css("display", "block");
                    } else {
                        //隐藏当前
                        $(this).css("display", "none");
                        //显示下一个元素
                        $(this).next().show();
                    }
} else {
                    //如果移动的位置屏幕的40%小于  则图片返回到初始的位置
                    $(this).animate({ "letf": "0px" },0);
                }
                //恢复初始坐标
                loadX = 0;
                //恢复鼠标松开坐标
                MoveUp = 0;
})
            //
})
    </script>
</body>
</html>
Html5 移动端 触摸滑动事件的更多相关文章
- 移动端触摸滑动插件Swiper
		移动端触摸滑动插件Swiper 04/02/2015 一.了解Swiper 目前移动端项目一般都需要具有触屏焦点图的效果,如果你也需要实现这一功能的话,Swiper是一个不错的选择. 1.他不需要加载 ... 
- swiper嵌套小demo(移动端触摸滑动插件)
		swiper(移动端触摸滑动插件) tip:自己敲得Swiper 的小demo,可以复制粘贴看看效果哦. swiper的js包css包下链接地址 : https://github.com/Clear ... 
- 自己用原生JS写的轮播图,支持移动端触摸滑动,分页器圆点可以支持mouseover鼠标移入和click点击,高手看了勿喷哈
		自己用原生JavaScript写的轮播图,分页器圆点按钮可支持click点击,也可支持mouseover鼠标悬浮触发,同时支持移动端触摸滑动,有兴趣的友友可以试试哈,菜鸟一枚,高手看了勿喷,请多多指正 ... 
- HTML5移动端触摸事件
		一.移动端事件问题 1.click事件300ms延迟问题 2007年第一代iphone发布,移动端Safari首创双击缩放功能,原理是click一次后,经过300ms之后检测是否再有一次click,如 ... 
- 移动端上下滑动事件之--坑爹的touch.js
		下面的方法,不知道是操作方法不对还是啥. 在 zepto.js 里面加那一段代码不起作用 百度的 touch.js 是可以用的,但是使用方式 和 zepto有点不一样. 解决方案:参照这个链接地址 ... 
- 移动端上下滑动事件之--坑爹的touch.js
		原文 http://blog.csdn.net/minidrupal/article/details/39611605 移动端页面的盛行,微信的便利的页面推广等等,让越来越多的css3效果和htm ... 
- JS封装移动端触摸滑动插件应用于导航banner【精装版】
		自己封装了一个小插件,一个小尝试. 可用于类似于京东导航等效果,效果多样化,很方便. 欢迎大家提点意见. mrChenSwiper( {parent, child, type, parentN, c ... 
- 移动端触摸滑动插件Swiper使用指南
		Swiper是一款开源.免费.功能十分强大的移动端内容触摸滑动插件,目前的最新版本是Swiper4.Swiper主要面向的是手机.平板电脑等移动设备,帮助开发者轻松实现触屏焦点图.触屏Tab切换.触屏 ... 
- Swipe-移动端触摸滑动插件swipe.js
		原文链接:http://caibaojian.com/swipe.html 插件特色 viaswipe.JS是一个比较有名的触摸滑动插件,它能够处理内容滑动,支持自定义选项,你可以让它自动滚动,控制滚 ... 
随机推荐
- JaveScript简单数据类型(JS知识点归纳二)
			JS中的简单数据类型有五种 : --> string --> number -->boolean --> null -->undefined 数据类型的检测 :typeo ... 
- ME01:猎场中猎头的内核
			前几天追了下<猎场>,只看了前面10多集,觉得下面的对话有点意思. 是关于猎头是干什么的? 猎头具备的素质. 对我们普通人是不是也有启发意义呢? 如何看人, 找到靠谱的合作人?找打好的老板 ... 
- 二、spring Boot构建的Web应用中,基于MySQL数据库的几种数据库连接方式进行介绍
			包括JDBC.JPA.MyBatis.多数据源和事务. 一.JDBC 连接数据库 1.属性配置文件(application.properties) spring.datasource.url=jdbc ... 
- 第五章 使用 SqlSession
			第五章 使用 SqlSession 原文链接; http://www.mybatis.org/spring/zh/sqlsession.html 在 MyBatis 中,你可以使用 SqlSessio ... 
- Sublime Text编辑器 + vim插件
			Sublime安装 Sublime Text 是一个代码编辑器.Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim. Su ... 
- 栈stack(2):栈的链表实现
			定义 从上一篇我们知道,栈(stack)是一个只允许一端进行删除插入操作的线性表.同时,我们联想到线性表的链式结构,其特点是用一组任意的存储单元存储线性表的数据元素,因此我们选择使用链表去实现栈,规定 ... 
- bzoj 3670: [Noi2014]动物园
			Description 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定开设算法班,让动物们学习 ... 
- 关于js代码执行顺序
			上网查了一下关于这个方面的资料,大部分都是关于两个script标签中的js代码和变量以及函数提升方面的知识. 1.两个script标签 <script> alert("我是代码块 ... 
- Spring之DAO一
			前面博客把bean.aop简单了解了一下,今天主要是了解Spring中DAO层,如果使用传统的JDBC时需要创建连接.打开.执行sql.关闭连接这一系列的步骤,Spring框架对JDBC进行了封装,我 ... 
- 微信小程序如何开发制作
			微信小程序如何开发制作 微容SMO是一款微信小程序的免费在线制作工具,用户在微容平台上无需编辑代码,可通过拖拽式操作即可完成小程序的制作,真正意义上实现了小程序零代码免费制作! 消除技术门槛:无需代码 ... 
