我有一个名为x的变量,它将作为起点,myCount用于计数用户完成的每次滑动,最后一个变量dist返回距起点多远的特定数字.
我想将-1存储在myCount中,如果dist将被用户拖至-201以下(在移动设备中滑动)到左侧.
存储正数可以正常工作(通过向右拖动),但是从不存储负数.
是否有解决此问题的解决方案?
到目前为止,这是我自己所做的:
CodePen
$(function stripeAnimeModule() { // Variables var screen = $('.page1'),buttons = $('.buttons').find('.button'),myCount = 1,x,dist; // Functions function clicked(e) { if ($(this).hasClass('prev')) { myCount -= 1; console.log(myCount,'this is clicked'); } else { myCount += 1; console.log(myCount); } } function touchstart(e) { return x = e.touches[0].pageX; e.preventDefault(); } function touchmove(e) { var drag = e.touches[0].pageX; var dist = Math.sqrt(x + drag); e.preventDefault(); } function touchend(e) { var dist = e.changedtouches[0].pageX - x; if (dist < Math.abs(-200)) { myCount = myCount; console.log('nothing',dist,myCount); } else if (dist > 201) { myCount += 1; console.log('distance is: ' + dist,'myCount is: '+ myCount); } else if (dist > -201) { myCount -= 1; console.log('distance is: ' + dist,'myCount is: '+ myCount); } e.stopPropagation(); e.preventDefault(); } buttons.on({click: clicked}); screen.bind({touchstart:touchstart,touchmove:touchmove,touchend: touchend});})
* { margin: 0; padding: 0;}ul li { List-style: none;}a { display: block;}.page1 { position: absolute; wIDth: 100vw; height: 100vh; background-color: grey;}.buttons { z-index: 1;}.prev { position: absolute; left: 0; margin: 0 40px;}.shrink { position: absolute;}.next { position: absolute; right: 0; margin: 0 40px;}
<div href="#"></div><ul > <li >Prev</li> <li ></li> <li >Next</li></ul><br><br><br><br><br><br><br><br><br><br><br><br><br><script src="https://cdnjs.cloudflare.com/AJAX/libs/jquery/3.3.1/jquery.min.Js"></script>
最佳答案$(function stripeAnimeModule() { // Variables var screen = $('.page1'),'this is clicked'); } else { myCount += 1; console.log(myCount); } } function touchstart(e) { return x = e.touches[0].pageX; e.preventDefault(); } function touchmove(e) { var drag = e.touches[0].pageX; var dist = Math.sqrt(x + drag); e.preventDefault(); } function touchend(e) { var dist = e.changedtouches[0].pageX - x; if (dist > 201) { myCount += 1; console.log('distance is: ' + dist,'myCount is: '+ myCount); } else if (dist < -201) { myCount -= 1; console.log('distance is: ' + dist,'myCount is: '+ myCount); } else { myCount = myCount; console.log('nothing',myCount); } e.stopPropagation(); e.preventDefault(); } buttons.on({click: clicked}); screen.bind({touchstart:touchstart,touchend: touchend});})
* { margin: 0; padding: 0;}ul li { List-style: none;}a { display: block;}.page1 { position: absolute; wIDth: 100vw; height: 100vh; background-color: grey;}.buttons { z-index: 1;}.prev { position: absolute; left: 0; margin: 0 40px;}.shrink { position: absolute;}.next { position: absolute; right: 0; margin: 0 40px;}
<div href="#"></div><ul > <li >Prev</li> <li ></li> <li >Next</li></ul><br><br><br><br><br><br><br><br><br><br><br><br><br><script src="https://cdnjs.cloudflare.com/AJAX/libs/jquery/3.3.1/jquery.min.Js"></script>
请看看,让我知道这是否是您想要的. 总结
以上是内存溢出为你收集整理的javascript-如何从滑动检测中获取负数? 全部内容,希望文章能够帮你解决javascript-如何从滑动检测中获取负数? 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)