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="http://t.zoukankan.com/Css/Index.css" rel="stylesheet" />
</head>
<body>
<div style="text-align: center; auto;">
<img src="http://t.zoukankan.com/img/1.jpeg" data- />
<img src="http://t.zoukankan.com/img/2.jpeg" data- />
<img src="http://t.zoukankan.com/img/3.jpeg" data- />
</div>
<script src="http://t.zoukankan.com/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 移动端 触摸滑动事件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇百度ai 基于node 语音识别 音频文件类型转换C++ dll调用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

HTML5和CSS3基础

第一章 Web时间代的变迁一、HTML4常见用div来划分页面结构方法,HTML5新出现的更语义化的标签. 二、可以放心使用HTML5的三个理由   1、兼容性:HTML5在老版本的浏览器也可以正常运行   2、实用性:HTML5内部并没有封装什么很复杂的功能,只封装了简单实用的功能   3、非革命性的发展:HTML5的内部功能不是革命性,而是发展性的...

KendoGrid基础

一.KendoUI Grid 绑定单击双击事件 原文:http://blog.csdn.net/sakuya_tan/article/details/51437857 <div id="grid"></div> <script> var grid = $("#grid").kendoGrid({...

HTML5播放器 MediaElement.js 使用方法

目前已经有很多html5播放器可以使用,使用html5播放器可以轻松的在页面中插入媒体视频,从而使我们的web页面变得更加丰富多彩,所以今 天向大家推荐一款非常优秀的html5播放器MediaElement.js,它不仅能够添加我们常用的html5视频格式(mp4,m4v,mov), 而且还支持回退方式,即一些低版本的浏览器不支持 HTML5 播放可以采...

angularJS实现无刷新文件下载

1 $scope.getExcel = function() { 2 $http.post("/production/statistics/export", { 3 storeId: $scope.$parent.currStore.storeId, 4 date: $scope.$parent.ledgerDat...

C# List对象集合重组为新集合和获取某个字段组成新数组

//实体集合 List<Question> listQ=new List<Question>(); //重组为需要的字段的新实体集合 var temp = listQ.Select(it => new { it.quesId,it....

C#读取CPU序列号、硬盘ID、网卡MAC地址,生成机器码

话不多说,直接上代码,类库中的机器码使用序列号、硬盘ID、网卡MAC地址组合取MD5生成。 usingSystem; usingSystem.Linq; usingSystem.Management; usingSystem.Security.Cryptography; usingSystem.Text; namespaceWayneShao.Commo...