var ele = document.getElementById('trackLine')
//may have x and y properties in some browsers,But it always has left, top, right, and bottom properties.
var rect = ele.getBoundingClientRect();
var touch = new Touch({
"identifier" : 0,
"target" : ele,
"clientX" : (rect.left + rect.right)/2,
"clientY" : (rect.top + rect.bottom)/2,
"screenX" : (rect.left + rect.right)/2,
"screenY" : (rect.top + rect.bottom)/2,
"pageX" : (rect.left + rect.right)/2,
"pageY" : (rect.top + rect.bottom)/2,
"radiusX" : 11.5,
"radiusY" : 11.5,
"rotationAngle" : 0.0,
"force" : 1});
var touchstart = new TouchEvent("touchstart", {
cancelable: true,
bubbles: true,
composed: true,
touches: [touch],
targetTouches: [touch],
changedTouches: [touch]
});
var touchend = new TouchEvent("touchend", {
cancelable: true,
bubbles: true,
composed: true,
touches: [touch],
targetTouches: [touch],
changedTouches: [touch]
});
ele.dispatchEvent(touchstart);
window.interval = setInterval(function(){
var touch = new Touch({
"identifier" : 0,
"target" : ele,
"clientX" : (rect.left* Math.random() + rect.right * Math.random())/2,
"clientY" : (rect.top* Math.random() + rect.bottom* Math.random())/2,
"screenX" : (rect.left* Math.random() + rect.right* Math.random())/2,
"screenY" : (rect.top* Math.random() + rect.bottom* Math.random())/2,
"pageX" : (rect.left* Math.random() + rect.right* Math.random())/2,
"pageY" : (rect.top* Math.random() + rect.bottom* Math.random())/2,
"radiusX" : 11.5,
"radiusY" : 11.5,
"rotationAngle" : 0.0,
"force" : 1});
console.log(touch)
var touchmove = new TouchEvent("touchmove", {
cancelable: true,
bubbles: true,
composed: true,
touches: [touch],
targetTouches: [touch],
changedTouches: [touch]
});
ele.dispatchEvent(touchmove);
}, 20);