获取全局变量以在函数中使用

时间:2018-06-29 12:21:58

标签: javascript global-variables

我正在使用此代码来播放和暂停几个音频:

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 :(得分:0)

不要使用 var current_id;

直接使用window.current_id

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

jQuery('#'+window.current_id).on('ended', function() {