[英]Convert string to JS object
我知道這是一個重復的問題,但是我無法弄清楚該怎么辦。 我想使用JS Buzz庫播放音頻。 請檢查以下
var pg1 = new buzz.sound("oimages/music/as.mp3");
var pg2 = new buzz.sound("oimages/music/zx.mp3");
var pg3 = new buzz.sound("oimages/music/as.mp3");
在某些事件中,我想播放此音頻。 這里的1、2和3是頁碼。 請檢查以下
$("#flipbook").bind("turned", function (event, page, view) {;
bog ='pg'+page; // page is the number of page here
window.bog.play(); //error
});
它給我以下錯誤
未捕獲的TypeError:window.bog.play不是函數
請指導。
簡單的錯誤。 您試圖錯誤地引用變量。 bog
不是名字,但其中包含名字...
$("#flipbook").bind("turned", function (event, page, view) {;
bog ='pg'+page; // page is the number of page here
window[bog]play(); //error
});
假設pg1..3
變量具有全局作用域。 如果他們不這樣做,則將聲明更改為...
window.pg1 = new buzz.sound("oimages/music/as.mp3");
等等..
因為bog ='pg'+page;
是一個字符串,而不是對聲音文件的引用。
您需要引用聲音,前提是它們在全局范圍內,您可以使用方括號表示法
var bog = window['pg'+page];
評估將達到目的:
$("#flipbook").bind("turned", function (event, page, view) {;
bog ='pg'+page;
eval('window.' + bog + '.play()');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.