web移动端触摸事件的范例~~~
注意:1.如果不是内联元素,获取style的属性值前需先赋值~不然为Null.
2.亲测andriod 手机 MX4内置浏览器运行妥妥的~~但是微信浏览器并不支持~原因未找到。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" Content="text/html; charset=utf-8;"> 5 <title>web移动端触摸滑动事件</title> 6 <meta name="description" content="web移动端触摸滑动事件"/> 7 <meta name="viewport" content="user-scalable=no"> 8 </head> 9 <body>10 <div style="position:relative;left:10px;top:10px;height: 100px;width: 200px;background: blue;" id="slider"></div>11 <script>12 var slider = {13 //判断设备是否支持touch事件14 touch: ('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch,15 slider: document.getElementById('slider'),16 //事件17 events: {18 slider: this.slider, //this为slider对象19 handleEvent: function (event) {20 var self = this; //this指events对象21 if (event.type == 'touchstart') {22 self.start(event);23 } else if (event.type == 'touchmove') {24 self.move(event);25 } else if (event.type == 'touchend') {26 self.end(event);27 }28 },29 //touchstart30 start: function (event) {31 event.preventDefault(); //阻止浏览器的默认事件32 var touch = event.targetTouches[0]; //touches数组对象获得屏幕上所有的touch,取第一个touch33 startPos = {x: touch.clientX, y: touch.clientY}; //取第一个touch的坐标值34 sliderX = parseInt(this.slider.style.left); //获取触摸时滑动块的初始位置35 sliderY = parseInt(this.slider.style.top);36 this.slider.addEventListener('touchmove', this, false);37 this.slider.addEventListener('touchend', this, false);38 },39 //touchmove40 move: function (event) {41 //当屏幕有多个touch或者页面被缩放过,就不执行move操作42 if (event.targetTouches.length > 1 || event.scale && event.scale !== 1) return;43 var touch = event.targetTouches[0];44 endPos = {x: touch.clientX - startPos.x, y: touch.clientY - startPos.y}; //获取所移动的距离45 event.preventDefault(); //阻止触摸事件的默认行为,即阻止滚屏46 this.slider.style.left = (sliderX + endPos.x ) + 'px';47 this.slider.style.top = (sliderY + endPos.y) + 'px';48 49 },50 //滑动释放51 end: function (event) {52 //解绑事件53 this.slider.removeEventListener('touchmove', this, false);54 this.slider.removeEventListener('touchend', this, false);55 }56 },57 58 //初始化59 init: function () {60 var self = this; //this指slider对象61 if (!!self.touch) self.slider.addEventListener('touchstart', self.events, false); //addEventListener第二个参数可以传一个对象,会调用该对象的handleEvent属性62 }63 };64 slider.init();65 </script>66 </body>67 </html>

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML的作用是通过标签和属性定义网页的结构和内容。1.HTML通过到、等标签组织内容,使其易于阅读和理解。2.使用语义化标签如、等增强可访问性和SEO。3.优化HTML代码可以提高网页加载速度和用户体验。

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代码” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代码”代码“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

如何设计菜单中的虚线分割效果?在设计菜单时,菜名和价格的左右对齐通常不难实现,但中间的虚线或点如何...


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。