簡體   English   中英

jQuery更新全局變量

[英]jquery updating global variable

我有此代碼,每次單擊前進時都想在其中播放下一首歌。 除非他不識別ii,並向我拋出錯誤TypeError:playlist [ii]未定義

我試過window.ii,同樣的錯誤。

$(document).ready(function(){
ii = 0


var playlist = [
    {
        'name' : "Ida Maria - Oh My God",
        'src' : "01 Oh My God.m4a",
        'codec' : 'mp4'
    },
    {
        'name' : "Miley Cyrus - Wrecking Ball",
        'src' : "06 Wrecking Ball.mp3",
        'codec' : 'mpeg'
    }
]


  $('.forward').click(function(){
    ii++
    audio.unload()
    audio.urls = mp3_folder + playlist[ii].src
    audio.load()
    audio.play()
  })

我說會告訴你,你應該在全球范圍內增加類似的東西。 就您而言,根本不需要填充全局范圍。 保持作用域最小化。您還遇到了很多詞匯問題,例如在行尾缺少分號和右括號,但是請嘗試以下操作:

$(document).ready(function(){
var ii = 0;


var playlist = [
    {
        'name' : "Ida Maria - Oh My God",
        'src' : "01 Oh My God.m4a",
        'codec' : 'mp4'
    },
    {
        'name' : "Miley Cyrus - Wrecking Ball",
        'src' : "06 Wrecking Ball.mp3",
        'codec' : 'mpeg'
    }
];


  $('.forward').click(function(){
    ii++;
    audio.unload();
    audio.urls = mp3_folder + playlist[ii].src;
    audio.load();
    audio.play();
  });

});

嘗試像這樣聲明playlist

window.playlist

所以你有

window.playlist = [
    {
        'name' : "Ida Maria - Oh My God",
        'src' : "01 Oh My God.m4a",
        'codec' : 'mp4'
    },
    {
        'name' : "Miley Cyrus - Wrecking Ball",
        'src' : "06 Wrecking Ball.mp3",
        'codec' : 'mpeg'
    }
]

您需要將播放列表變量移到onload事件方法之外。

var playlist = [
    {
        'name' : "Ida Maria - Oh My God",
        'src' : "01 Oh My God.m4a",
        'codec' : 'mp4'
    },
    {
        'name' : "Miley Cyrus - Wrecking Ball",
        'src' : "06 Wrecking Ball.mp3",
        'codec' : 'mpeg'
    }
];

var ii = 0;

$(document).ready(function(){
    $('.forward').click(function(){
        ii++;
        audio.unload();
        audio.urls = mp3_folder + playlist[ii].src;
        audio.load();
        audio.play();
    });
});

您可能也想將ii變量移到外部,否則您將遇到相同的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM