diff --git a/src/js/player.js b/src/js/player.js index 90df828..de296d1 100644 --- a/src/js/player.js +++ b/src/js/player.js @@ -446,12 +446,8 @@ class APlayer { instances.splice(instances.indexOf(this), 1); this.pause(); this.container.innerHTML = ''; - clearInterval(this.playedTime); - for (const key in this) { - if (this.hasOwnProperty(key)) { - delete this[key]; - } - } + this.audio.src = ''; + this.timer.destroy(); } handlePlayPromise (callback) { diff --git a/src/js/timer.js b/src/js/timer.js index b1cc569..cbcdc85 100644 --- a/src/js/timer.js +++ b/src/js/timer.js @@ -21,12 +21,10 @@ class Timer { } init () { - for (let i = 0; i < this.types.length; i++) { - const type = this.types[i]; - if (type !== 'fps') { - this[`init${type}Checker`](); - } - } + this.types.map((item) => { + this[`init${item}Checker`](); + return item; + }); } initprogressChecker () { @@ -79,8 +77,12 @@ class Timer { this[`enable${type}Checker`] = false; } - destroy (type) { - this[`${type}Checker`] && clearInterval(this[`${type}Checker`]); + destroy () { + this.types.map((item) => { + this[`enable${item}Checker`] = false; + this[`${item}Checker`] && clearInterval(this[`${item}Checker`]); + return item; + }); } }