Получение глобальной переменной для использования в функции - PullRequest
0 голосов
/ 29 июня 2018

Я работаю с этим кодом, чтобы воспроизвести и приостановить несколько аудио:

jQuery(document).ready(function(){
  var getaudio;
  var audiostatus = 'off';
  var current_id;
  jQuery(document).on('click touchend', '.speaker', function() {
    elemento = jQuery(this);
    current_id = elemento.children("audio").attr("id");
    clase = current_id.replace(/player/, '');

    if (!jQuery('.c'+clase).hasClass("speakerplay")) {
       getaudio = jQuery('#'+current_id)[0];
       if (audiostatus == 'off') {
         jQuery('.c'+clase).addClass('speakerplay');
         getaudio.load();
         getaudio.play();
         audiostatus = 'on';
         return false;
     } else if (audiostatus == 'on') {
       jQuery('.c'+clase).addClass('speakerplay');
       getaudio.play()
     }
   } else if (jQuery('.speaker').hasClass("speakerplay")) {
     getaudio.pause();
     jQuery('.c'+clase).removeClass('speakerplay');
     audiostatus = 'on';
   }
  });

  // Here is my problem: I need to get the value of current_id...
  jQuery('#'+current_id).on('ended', function() {
    jQuery('.speaker').removeClass('speakerplay');
    audiostatus = 'off';
  });
});

В последней функции я хочу удалить класс 'speakerplay', как только звук достигнет конца, но я не могу получить значение current_id

Может ли кто-нибудь помочь мне с этим?

Заранее спасибо!

1 Ответ

0 голосов
/ 29 июня 2018

не использовать var current_id;

использовать window.current_id напрямую

window.current_id = elemento.children("audio").attr("id");

jQuery('#'+window.current_id).on('ended', function() {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...