2016-05-12 7 views
0

繰り返し質問がありますが、私の場合はどうやって行うのか分かりません。 JS Buzzライブラリを使用してオーディオを再生したい。以下を確認してください文字列をJSオブジェクトに変換する

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はページ番号です。案内してください私に次のエラー

Uncaught TypeError: window.bog.play is not a function

を与える

$("#flipbook").bind("turned", function (event, page, view) {; 
    bog ='pg'+page; // page is the number of page here 
    window.bog.play(); //error 
}); 

以下をご確認ください。

$("#flipbook").bind("turned", function (event, page, view) {; 
    bog ='pg'+page; 
    eval('window.' + bog + '.play()'); 
}); 

答えて

1

を変更しない場合。

はあなたがブラケット表記にそのための

var bog = window['pg'+page]; 
+0

感謝を使用することができ、彼らはグローバルスコープであると仮定すると、音を参照する必要があります。 –

-1

は、トリックを行うだろう。変数を間違って参照しようとしています。これはpg1..3変数はグローバルスコープを持っていることを前提としてい...

$("#flipbook").bind("turned", function (event, page, view) {; 
    bog ='pg'+page; // page is the number of page here 
    window[bog]play(); //error 
}); 

bogは名前ではありませんが、それは名前が含まれています。 bog ='pg'+page;が文字列ではなく、サウンドファイルへの参照であるため、彼らはその後に宣言...

window.pg1 = new buzz.sound("oimages/music/as.mp3"); 

など。

1

単純なミス:評価

関連する問題