2013-08-02 3 views
1

Я нашел этот код в stackoverflow, который медленно меняет звуковую дорожку. Это работает хорошо. Он структурирован таким образом, что мне очень сложно повторно использовать без копирования и вставки, потому что функция вызывает себя внутри себя. Вот код:Как бы я превратил этот код в функцию повторного использования?

function fadeVolume(volume, callback) { 
    //change the volume by factor each time 
    //will check if setTimeout is used to loop as well as wait, as it seems so here 
    var factor = 0.02, 
     speed = 50; 
    if (volume > factor) { 
     setTimeout(function() { 
      fadeVolume((gameController.myAudio.preGameTrack.volume -= factor), callback); 
     }, speed); 
    } else { 
     (typeof (callback) !== 'function') || callback(); 
    } 
}; 
fadeVolume(gameController.myAudio.preGameTrack.volume, function() { 
    preGameContent.ready = true; 
    //stop the music altogether 
    gameController.myAudio.preGameTrack.pause(); 
    gameController.myAudio.preGameTrack.currentTime = 0; 
}) 
+1

Что вы хотите сказать? У вас возникли проблемы с сохранением его в файле и использованием '

Смежные вопросы