<!DOCTYPE html>
<html lange='en'> <head>
<meta charset='UTF-8'>
<title></title>
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<style>
* {
margin: 0;
padding: 0;
} #div1 {
width: 670px;
height: 250px;
position: relative;
margin: 50px;
overflow: hidden;
background: pink;
} #ul1 {
position: absolute;
left: 0;
} #ul1 li {
width: 670px;
height: 250px;
float: left;
list-style: none;
}
#ul1 li img{
width: 670px;
}
</style>
</head> <body>
<div id="div1">
<ul id="ul1">
<li><img src="img/1.jpg"></li>
<li><img src="img/2.jpg"></li>
<li><img src="img/3.jpg"></li>
<li><img src="img/4.jpg"></li>
<li><img src="img/5.jpg"></li>
</ul>
</div>
</body> </html>
<script type="text/javascript">
var oDiv = document.getElementById('div1');
var oUl = document.getElementById('ul1');
var aLi = oUl.getElementsByTagName('li');
var w = aLi[0].offsetWidth; oUl.style.width = aLi.length * w + 'px';
var downLeft = 0;
var donwX = 0;
var iNow = 0;
var downTime = 0;
var bBtn; oUl.ontouchstart = function(ev) {
console.log(1)
var touchs = ev.changedTouches[0];
donwX = touchs.pageX;
downLeft = this.offsetLeft;
bBtn = true;
downTime = Date.now();
} // console.log(donwX)
oUl.ontouchmove = function(ev) {
var touchs = ev.changedTouches[0];
if (this.offsetLeft >= 0) {
if (bBtn) {
donwX = touchs.pageX;
bBtn = false;
}
this.style.left = (touchs.pageX - donwX) / 3 + 'px';
console.log(1) } else if (this.offsetLeft <= oDiv.offsetWidth - oUl.offsetWidth) {
console.log(oDiv.offsetWidth - oUl.offsetWidth)
if (bBtn) {
donwX = touchs.pageX;
bBtn = false;
}
this.style.left = (touchs.pageX - donwX) / 3 + (oDiv.offsetWidth - oUl.offsetWidth) + 'px';
console.log(2) } else {
// debugger;
this.style.left = touchs.pageX - donwX + downLeft + 'px';
// console.log(touchs.pageX - donwX + downLeft+'this is')
console.log(3) }
} oUl.ontouchend = function(ev) {
var touchs = ev.changedTouches[0]; if (touchs.pageX < donwX) { //左 if (iNow < aLi.length - 1) {
// alert(Date.now() - downTime<300)
if (donwX - touchs.pageX > aLi[0].offsetWidth / 2 || (Date.now() - downTime < 300 && donwX - touchs.pageX > 30)) { iNow++;
}
} $('#ul1').animate({ 'left': -iNow * w });
} else { //右
// debugger;
if (iNow > 0) {
if (touchs.pageX - donwX > aLi[0].offsetWidth / 2 || (Date.now() - downTime < 300 && touchs.pageX - donwX > 30)) {
iNow--;
}
}
$('#ul1').animate({ 'left': -iNow * w }); }
}
</script>
<!--
1、用户划动超过图片的一半或者用户快速的滑过时才滚动一页
2、如果是在第1页,或者最后一页时移动的速度放慢3倍。 -->

最新文章

  1. Mysql的基础使用之SQL原生语句的使用:表的 创建 删除 修改 (一)
  2. 利用ant脚本 自动构建svn增量/全量 系统程序升级包
  3. 决绝Capturing &#39;demo&#39; strongly in this block is likely to lead to a retain cycle
  4. centos查看硬件信息
  5. hust--------The Minimum Length (最短循环节)(kmp)
  6. POJ 2101
  7. netty启动过程
  8. 结论: blocking_query 是当前堵塞其他会话正在运行的SQL.而不是原始堵塞SQL
  9. java 枚举使用详解
  10. yii配置
  11. go语法
  12. hadoop+hive+spark搭建(三)
  13. jdbc3
  14. mysql filesort 的解决方案
  15. ASP.NET Core OData now Available
  16. Windows 下面 redis 发布为服务的官方方法
  17. Linux之Ubuntu无线网络配置
  18. ubuntu上装MySQL遇到的问题及解决办法
  19. pta7-19打印学生选课清单(模拟)
  20. /usr/local/ 和 /opt

热门文章

  1. apache 绿色版 安装
  2. Oracle | PL/SQL Check约束用法详解
  3. LeetCode:矩形区域【223】
  4. mini2440 最小根文件系统制作和nfs启动
  5. Perl 日期时间函数(date time)
  6. HTML/CSS实现的搜索框
  7. sublime 相关配置和快捷键
  8. java 基础 - 查找某个字串出现的次数及位置
  9. listen 64
  10. 1076 Forwards on Weibo (30)(30 分)