HTML5技术

Html5 移动端 触摸滑动事件 - ChnHonKer-小河

字号+ 作者:H5之家 来源:H5之家 2017-08-22 17:07 我要评论( )

以下代码经过测试 没有问题 且可以循环滑动 !DOCTYPE html html xmlns="http://www.w3.org/1999/xhtml" head meta content="webkit" meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" meta content="width=device-width, initial-scale=1, max

以下代码经过测试  没有问题 且可以循环滑动

 

 

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta 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" />
</head>
<body>
<div>
<img src="img/1.jpeg" data-id="1" />
<img src="img/2.jpeg" data-id="2" />
<img src="img/3.jpeg" 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>

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 单文件文件上传到服务器(HTML5+js+Java) - ML夜神

    单文件文件上传到服务器(HTML5+js+Java) - ML夜神

    2017-08-20 08:00

  • HTML5本地存储应用sessionStorage和localStorage - ghostwu

    HTML5本地存储应用sessionStorage和localStorage - ghostwu

    2017-08-18 09:00

  • HTML5 Canvas:初始Canvas - 救火队长

    HTML5 Canvas:初始Canvas - 救火队长

    2017-08-16 18:00

  • HTMl5的sessionStorage和localStorage - 六一儿童节

    HTMl5的sessionStorage和localStorage - 六一儿童节

    2017-08-14 11:00

网友点评