首先我们先把基础样式做出来

 <style type="text/css">*{padding: 0;margin:0; }.container{width: 100%;height: 200px;position: relative;overflow: hidden;}.ulbox{width: 120%;height: 100%;position: absolute;left: 0;top:0;overflow: hidden;}.ulbox li{box-sizing: border-box;text-align: center;line-height: 200px;font-size: 2rem;      list-style: none;float: left; width: 20%; height:100% ;background-color: rgba(123,215,196,0.5);border-left: white 0.2rem solid;}</style>
</head>
<body><div class="container"><ul class="ulbox"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul></div>
</body>


主容器的·overflow: hidden;很重要不然就会导致如下图的结果

重点是js的代码
首先获取ul的class,以及设置一个初始化的起始点和偏移距离,

 var ulbox = document.getElementsByClassName("ulbox")[0];var startX = 0;var leftX = 0;

然后通过touchstart的event的.changedTouches[0]的clientX,获取鼠标点下去x轴初始值;

在通过touchmove的.changedTouches[0]的clientX,实时获取x轴的值;
再让其相减得出偏移值;
让后为了防止,偏移量超出ul的宽度,所以

 if (leftX > 0) {leftX = 0;}if (leftX < -200) {leftX = -200;}

让其值超出界限时,变为临界值。

附上原代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>dmeo</title><style type="text/css">*{padding: 0;margin:0; }.container{width: 100%;height: 200px;position: relative;overflow: hidden;}.ulbox{width: 120%;height: 100%;position: absolute;left: 0;top:0;overflow: hidden;}.ulbox li{box-sizing: border-box;text-align: center;line-height: 200px;font-size: 2rem;      list-style: none;float: left; width: 20%; height:100% ;background-color: rgba(123,215,196,0.5);border-left: white 0.2rem solid;}</style>
</head>
<body><div class="container"><ul class="ulbox"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul></div><script type="text/javascript">var ulbox = document.getElementsByClassName("ulbox")[0];var startX = 0;var leftX = 0;ulbox.addEventListener("touchstart",function(e){console.log(e)startX =  e.changedTouches[0].clientX;})ulbox.addEventListener("touchmove",function(e){leftX = e.changedTouches[0].clientX - startX;if (leftX > 0) {leftX = 0;}if (leftX < -200) {leftX = -200;}console.log(leftX)ulbox.style.left = ""+ leftX +"px"})</script>
</body>
</html>

touchmove滑动菜单相关推荐

  1. cocos2D中实现滑动菜单CCScrollView+CCMenu效果,(注意不是cocos2D-x)!!

    本来想着用ScrollView+Menu可以很容易实现类似Angry Bird,滑动菜单选择关卡的效果.结果悲剧了,cocos2D没有CCScrollView,没办法...自己实现了一个. 成员变量: ...

  2. android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu[转]

    http://blog.csdn.net/jj120522/article/details/8095852 示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这 ...

  3. Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9671609 记得在很早之前,我写了一篇关于Android滑动菜单的文章,其中有一个 ...

  4. html5手机端的点击弹出侧边滑动菜单代码

    效果预览:http://hovertree.com/texiao/html5/19/ 本效果适用于移动设备,可以使用手机等浏览效果. 源码下载:http://hovertree.com/h/bjaf/ ...

  5. 超酷的Android 侧滑(双向滑动菜单)效果

    Java代码   下面看看我们如何使用它,达到我们想要的效果 public class MainActivity extends Activity { /** * 双向滑动菜单布局 */ privat ...

  6. 实现滑动菜单(富文本版本)

    所谓的滑动菜单就是将一些菜单选项隐藏起来,而不是放置在主屏幕上,然后可以通过滑动的方式将菜单显示出来.这种方式既节省了屏幕空间,又实现了非常好的动画效果. 下面我们实现一个相对基本的滑动菜单. 参考文 ...

  7. Android UI(三)SlidingMenu实现滑动菜单(详细 官方)

    Jeff Lee blog:   http://www.cnblogs.com/Alandre/  (泥沙砖瓦浆木匠),retain the url when reproduced ! Thanks ...

  8. html css纵向滑动列表,JS实现的简洁纵向滑动菜单(滑动门)效果

    本文实例讲述了JS实现的简洁纵向滑动菜单(滑动门)效果.分享给大家供大家参考,具体如下: 这是一款纵向布局的CSS+JavaScript滑动门代码,相当简洁的手法来实现,如果对颜色不满意,你可以试着自 ...

  9. Javascript实现的左右滑动菜单

    原文链接:http://www.cnblogs.com/miqi2214/archive/2009/04/28/1445308.html Javascript实现的左右滑动菜单 先看Demo便于理解: ...

最新文章

  1. 微信小程序下拉刷新和上拉加载
  2. [ZZ]如何在Web页面上直接打开、编辑、创建Office文档
  3. pandas最大的时间间隔_pandas计算最大连续间隔的方法
  4. acm国际大学上计算机竞赛,ACM国际大学生程序设计竞赛
  5. 当你输入一个网址的时候,实际会发生什么?(转)
  6. 程序员的故事 007 程序员是吃青春饭的
  7. 自然伽马测井基础知识
  8. C语言状态机编程进阶
  9. 鸟哥的linux基础学习实训教程
  10. 真香啊,20张高清数据分析全知识地图,要学的东西全都概况了
  11. xmarks恢复使用
  12. java接收端怎么收不到_java后端为什么接受不到前端发送的数据
  13. AI未来是什么样子,这些科幻电影里已经有了答案
  14. STM32F429_DWM物联网开发板
  15. 【Transformers】第 7 章 :问答
  16. 【信号去噪】基于硬阈值、软阈值、半软阈值、Maxmin阈值、Garrote阈值小波变换实现心音去噪附matlab代码
  17. iOS10 Siri开发介绍篇
  18. 模电笔记4 半导体三极管及放大电路基础
  19. 计算机网络1255,国家开放大学电大本科《计算机网络》2024期末试题及答案(试卷号:1255).docx...
  20. 简述u盘安装计算机系统的方法,计算机装系统需要U盘?最简单的方法

热门文章

  1. Jmeter性能测试学习(五):Beanshell处理器(包含前置后置)
  2. mac上卸载软件后,本地文件为什么没有被删除
  3. rubik-cube-solver 使用js求解魔方
  4. 事件的节流(throttle)与防抖(debounce)
  5. java select 下拉选项框option定位_java select 下拉选项框opt
  6. 计算机企业智力测试题,本科测试题(英语智力)-大学教育计算机科学与技术类计算机软件试卷与试题.pdf...
  7. java中Arrays详解
  8. php 模糊查询数据库,php模糊查询_php 简单内容查询代码 利用sql like模糊查询
  9. mysql master slave区别_mysql master/slave 使用感受
  10. 《高等代数学》(姚慕生),例1.5.7