<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
<title></title>
<style>
* {
margin: 0;
padding: 0;
list-style: none;
}

html {
font-size: 20px;
}

#wrap {
width: 16rem;
height: 7.5rem;
margin: 0 auto;
overflow: hidden;
}

#wrap ul {
width: 64rem;
height: 7.5rem;
}

#wrap ul li {
font-size: 2rem;
color: #fff;
width: 16rem;
height: 7.5rem;
float: left;
text-align: center;
line-height: 7.5rem;
}
</style>
<script>
(function (win, doc) {
function change() {
doc.documentElement.style.fontSize = 20 * doc.documentElement.clientWidth / 320 + 'px';
}

change();
win.addEventListener('resize', change, false);
})(window, document);

document.addEventListener('DOMContentLoaded', function () {
var oUl = document.querySelectorAll('#wrap ul')[0];
var aLi = oUl.children;
var x = 0;
var iNow = 0;
oUl.addEventListener('touchstart', function (ev) {
var downX = ev.targetTouches[0].pageX;
var disX = downX - x;

function move(ev) {
x = ev.targetTouches[0].pageX - disX;
oUl.style.WebkitTransform = 'translate3d(' + x + 'px,0,0)';
}
function end(ev) {
oUl.removeEventListener('touchmove', move, false);

oUl.removeEventListener('touchend', end, false);
oUl.style.WebkitTransition = 'all 300ms ease';
var upX = ev.changedTouches[0].pageX;

if (Math.abs(upX - downX) > 100) {//切换到下一张;
if (downX > upX) {
iNow++;
if (iNow == aLi.length)iNow = aLi.length - 1;
} else {
iNow--;
if (iNow == -1)iNow = 0;
}
}
x = -iNow * aLi[0].offsetWidth;
oUl.style.WebkitTransform = 'translate3d(' + x + 'px,0,0)';
}

oUl.addEventListener('touchmove', move, false);

oUl.addEventListener('touchend', end, false);

ev.preventDefault();
}, false);

}, false);
</script>
</head>
<body>
<div id="wrap">
<ul>
<li style="background: red;">0</li>
<li style="background: #1a3cff;">1</li>
<li style="background: #66ff11;">2</li>
<li style="background: #ff127e;">3</li>
</ul>
</div>
</body>
</html>

最新文章

  1. keepalived mariadb 主主
  2. rocksDB 安装问题简单介绍
  3. C# treeview 绑定数据 【转】
  4. Map/Reduce 工作机制分析 --- 作业的执行流程
  5. SP_APPROVALSET_OVERTIME 插入單據
  6. php:订单号和时区
  7. Jqgrid入门-结合Struts2+json实现数据展示(五)
  8. 设置cookie倒计时让让表单自动提交
  9. 认识&lt;img&gt;标签,为网页插入图片
  10. 【测试环境】cywin的简单介绍
  11. thinkphp3.2
  12. Linux 内核源码中likely()和unlikely()
  13. Java文件流应用:剪切文件
  14. nginx for Windows
  15. 006-Python函数
  16. Android Studio集成到Genymotion模拟器
  17. Redis Sentinel 模拟故障迁移
  18. 两个java工程之间的相互调用方法
  19. Sublime Text 3中文乱码问题解决(最新)
  20. Echarts之悬浮框中的数据排序

热门文章

  1. java中使用 redis (转载)
  2. HTML5 video标签播放视频下载原理
  3. nginx1.8安装nginx_concat_module及400错误解决办法
  4. ASP.NET Identity - LockoutEnabled
  5. java集合-HashSet
  6. html radio check
  7. 【Python + Selenium】Mock Testing 是啥?一个so上的高票答案。
  8. 200行代码搞定炸金花游戏(PHP版)
  9. javascript 中的 let 作用域
  10. VB.NET中Form窗体运行时,按ESC退出全屏状态