cleanup timeouts for zooms
This commit is contained in:
parent
9ee095b6db
commit
3fd440a849
|
@ -60,7 +60,7 @@ function start(idx) {
|
|||
function stop(idx) {
|
||||
var data = slideData[idx]
|
||||
console.log(current, data)
|
||||
if (data.zoom_to) {
|
||||
if (data.zooms) {
|
||||
reset_zoom(data)
|
||||
} else if (data.video && data.video.length) {
|
||||
reset_video(data)
|
||||
|
@ -121,8 +121,9 @@ window.addEventListener('blur', function(){
|
|||
|
||||
|
||||
function reset_zoom(data) {
|
||||
data.zoomTimeouts.forEach(timeout => clearTimeout(timeout))
|
||||
data.embed.postMessage('options', {
|
||||
'area': data.zoom_from
|
||||
'area': data.zooms[0]
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -130,12 +131,13 @@ function start_zoom(data) {
|
|||
// console.log('start zoon', Math.round(1000 * data.duration / 2))
|
||||
|
||||
for (var i=1; i<data.zooms.length; i++) {
|
||||
data.zoomTimeouts = [];
|
||||
(function(j) {
|
||||
setTimeout(function() {
|
||||
data.zoomTimeouts.push(setTimeout(function() {
|
||||
data.embed.postMessage('options', {
|
||||
'area': data.zooms[j]
|
||||
})
|
||||
}, Math.round(1000 * (data.duration / data.zooms.length) * j))
|
||||
}, Math.round(1000 * (data.duration / data.zooms.length) * j)))
|
||||
})(i)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user