[英]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.