我正在尝试为现有的jplayer创建一个专辑功能。
这是工作中的静态代码:
$(document).ready(function(){
new jPlayerPlaylist({
jPlayer: "#jquery_jplayer_1",
cssSelectorAncestor: "#jp_container_1"
}, [
{title:"01 - Standing (Still)", mp3:"music/Ongesorteerd/01 - Standing (Still).mp3"},
{title:"02 - Standing (Motion)", mp3:"music/Ongesorteerd/02 - Standing (Motion).mp3"}, // tracklist here
]);
$("#jplayer_inspector_1").jPlayerInspector({jPlayer:$("#jquery_jplayer_1")});
});现在我想使用一个变量来填充播放列表。我设法创建了一个有效的变量,我可以警告它是JS,并签出是正确的。
我的问题是如何用我的(JS)变量替换静态播放列表?
这就是我试过的:
function player(album, tracklist){
//alert(album+" ## "+tracklist);
var array = tracklist.split("+");
var track_count = array.length;
var tracks = "";
var i=0;
while(i < track_count)
{
tracks = tracks+'{title:"'+array[i]+'", mp3:"music/'+album+'/'+array[i]+'.mp3"},';
i++;
}
new jPlayerPlaylist({
jPlayer: "#jquery_jplayer_1",
cssSelectorAncestor: "#jp_container_1"
}, [
$(tracks) // this is the variable I'm talking about
]);
$("#jplayer_inspector_1").jPlayerInspector({jPlayer:$("#jquery_jplayer_1")});
}我将得到以下错误:
错误:语法错误,无法识别的表达式:{标题:“01-站立(静止)”,mp3:“音乐/Ongesorteerd/01-站立(静止).mp3”},{标题:“02-站立(运动)”,mp3:“音乐/Ongesorteerd/02-站立(运动).mp3”},
发布于 2015-01-16 13:24:36
在原始代码中,以下内容表示javascript数组文字:
[
{title:"01 - Standing (Still)", mp3:"music/Ongesorteerd/01 - Standing (Still).mp3"},
{title:"02 - Standing (Motion)", mp3:"music/Ongesorteerd/02 - Standing (Motion).mp3"}, // tracklist here
]在您的代码中,您构建的是字符串,而不是数组文本。试试像这样的东西
var tracks = [];
while(i < track_count)
{
tracks.push({
title: array[i],
mp3: "music/'+album+'/'+array[i]+'.mp3"
});
i++;
}
new jPlayerPlaylist({
jPlayer: "#jquery_jplayer_1",
cssSelectorAncestor: "#jp_container_1"
}, tracks );https://stackoverflow.com/questions/27984791
复制相似问题