@antv/f6-plugin
Version:
F6 plugin
46 lines (40 loc) • 899 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createPlayer = createPlayer;
function createPlayer(fn, time) {
if (time === void 0) {
time = 20;
}
var isStop = true;
var timer = null;
var maxTime = 800;
var minTime = 300;
var maxLevel = 10;
var minLevel = 1;
var loop = function loop() {
if (isStop) {
clearTimeout(timer);
return;
}
fn === null || fn === void 0 ? void 0 : fn();
timer = setTimeout(function () {
loop();
}, time);
};
return {
play: function play() {
isStop = false;
loop();
},
stop: function stop() {
isStop = true;
},
setSpeed: function setSpeed(speed) {
if (speed > maxLevel) speed = maxLevel;
if (speed < minLevel) speed = minLevel;
time = maxTime - (maxTime - minTime) * speed / (maxLevel - minLevel);
}
};
}