您如何使用JavaScript在网页上检测到用户向某个方向滑动手指?
我想知道是否存在一种适用于iPhone和Android手机上的网站的解决方案。
简单的原始JS代码示例:
document.addEventListener('touchstart', handleTouchStart, false);
document.addEventListener('touchmove', handleTouchMove, false);
var xDown = null;
var yDown = null;
function getTouches(evt) {
return evt.touches || // browser API
evt.originalEvent.touches; // jQuery
}
function handleTouchStart(evt) {
const firstTouch = getTouches(evt)[0];
xDown = firstTouch.clientX;
yDown = firstTouch.clientY;
};
function handleTouchMove(evt) {
if ( ! xDown || ! yDown ) {
return;
}
var xUp = evt.touches[0].clientX;
var yUp = evt.touches[0].clientY;
var xDiff = xDown - xUp;
var yDiff = yDown - yUp;
if ( Math.abs( xDiff ) > Math.abs( yDiff ) ) {/*most significant*/
if ( xDiff > 0 ) {
/* left swipe */
} else {
/* right swipe */
}
} else {
if ( yDiff > 0 ) {
/* up swipe */
} else {
/* down swipe */
}
}
/* reset values */
xDown = null;
yDown = null;
};
在Android上测试。
问题内容: 如果网站在ipad Safari或应用程序WebView中运行,是否可以通过JavaScript进行区别? 问题答案: 这里使用的组合和。它可以区分与iOS Web应用程序有关的所有四个状态:Safari(浏览器),独立(全屏),uiwebview,而不是iOS。
问题内容: 如何使用Android和iPhone的javascript检测长按压力?本机javascript或jquery … 我想要听起来像: 问题答案: 使用“触摸结束”检测长时间触摸的问题是,如果您希望事件在一定时间后触发,则它将无法正常工作。最好在触摸开始时使用计时器,并在触摸结束时清除事件计时器。可以使用以下模式:
问题内容: 我对javascript不太熟悉,但是我认为这是实现我的目标的最佳方法。如果没有,请纠正我。 我最后有一个许可证文本2按钮。所有这些都是用HTML编写的,因为许可证中有一些链接。现在,我希望当用户单击中的“确定”按钮时,这会触发一些我可以在Java中抓取的JavaScript或侦听器以触发应用程序中的前进。(“取消”按钮的作用相反,但是如果我知道一种方法,我可以做另一种。) 这会给某人
问题内容: 我需要javascript来检测每个浏览器换行的文本并将其换成。 我碰到过很多文章,都在讨论如何测量每个单词的y轴,但还没有一个可靠的解决方案。 到目前为止,这就是我所拥有的。在Jsfiddle上看到它。 HTML JS / jQuery CSS 问题答案: 首先我必须承认,我认为这将是一项艰巨的任务,因为无法通过任务浏览器告诉您自动换行符发生在何处。 我创建了一个解决方案,首先将
这段代码实现类似水果忍者应用中,用户手指在屏幕上划动时出现划痕轨迹的效果,有兴趣的朋友可以研究一下。 [Code4App.com]
我在ViewDid中有一个动画,如下所示 它只是从屏幕顶部创建小正方形,然后移动到底部。我还有一个UIImageView,它由x轴上的加速计控制。目标不是接触动画对象。就像一个简单的比赛游戏。然而,我无法找到如何检测imageView和动画之间的冲突?