用于触摸屏的滑块

时间:2017-08-18 07:28:37

标签: javascript jquery slider touchscreen

我有这样的滑块:https://jsfiddle.net/args91L4/如何让它在触摸屏上工作,更准确地说,没有第三方插件在vanilla js或纯jquery上的方式是什么?   我想跟踪鼠标事件,如:

.mousedown();
 //Start moving
.mousemove ();
 //Track coordinates
.mouseup();
 //end moving

如何实施呢?或者有更简单的方法?

1 个答案:

答案 0 :(得分:2)

您可能不是在寻找鼠标事件,而是触摸events,例如touchstart

但是,这并不容易,因为你需要在每次触摸后决定用户可能想要实现的目标。如果他向左滚动,他是想向左滑动还是只想向下滚动而不是那么精确?或者他是否想要点击并错误地向右移动一点?这需要大量的计算和假设,并且可能非常困难。

因此,我建议您使用类似hammerjs之类的lib,这样可以简化此配置并提供一些非常可靠的默认设置。在hammerjs中,您可能会使用swipe识别器来检测想要向左或向右滑动的用户

var hammerInstance = new Hammer(element, options);
hammerInstance.on('swipeleft', function(ev) {
  ... // slide to the left
}