1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

change timer using setTimeout/clearTimeout

This commit is contained in:
redSpoutnik 2019-09-22 11:38:18 +02:00
parent 4ab84e369b
commit 5974c511f9

View file

@ -1209,7 +1209,7 @@ define(["playbackManager", "dom", "inputmanager", "datetime", "itemHelper", "med
var programEndDateMs = 0;
var playbackStartTimeTicks = 0;
var subtitleSyncOverlay;
var volumeSliderTimer = 0;
var volumeSliderTimer;
var nowPlayingVolumeSlider = view.querySelector(".osdVolumeSlider");
var nowPlayingVolumeSliderContainer = view.querySelector(".osdVolumeSliderContainer");
var nowPlayingPositionSlider = view.querySelector(".osdPositionSlider");
@ -1332,20 +1332,33 @@ define(["playbackManager", "dom", "inputmanager", "datetime", "itemHelper", "med
playbackManager.toggleMute(currentPlayer);
});
nowPlayingVolumeSlider.addEventListener("change", function () {
if(volumeSliderTimer){
// interupt and remove existing timer
clearTimeout(volumeSliderTimer);
volumeSliderTimer = null;
}
playbackManager.setVolume(this.value, currentPlayer);
});
nowPlayingVolumeSlider.addEventListener("mousemove", function () {
var now = new Date().getTime();
if ((now - volumeSliderTimer) > 700) {
volumeSliderTimer = now;
playbackManager.setVolume(this.value, currentPlayer);
if(!volumeSliderTimer){
var that = this;
// register new timer
volumeSliderTimer = setTimeout(function(){
playbackManager.setVolume(that.value, currentPlayer);
// delete timer after completion
volumeSliderTimer = null;
}, 700);
}
});
nowPlayingVolumeSlider.addEventListener("touchmove", function () {
var now = new Date().getTime();
if ((now - volumeSliderTimer) > 700) {
volumeSliderTimer = now;
playbackManager.setVolume(this.value, currentPlayer);
if(!volumeSliderTimer){
var that = this;
// register new timer
volumeSliderTimer = setTimeout(function(){
playbackManager.setVolume(that.value, currentPlayer);
// delete timer after completion
volumeSliderTimer = null;
}, 700);
}
});