这里我有一个声明:
<div id="timeline-embed"></div>
<script type="text/javascript">
var timeline_config = {
width: "100%",
height: "100%",
debug: true,
rows: 2,
source: 'Timeline/example_json.json'
}
</script>
<script type="text/javascript" src="Timeline/compiled/js/storyjs-embed.js"></script>
所以我现在想要source: 'Timeline/example_json.json'
来使用
类似的东西:
source: '{
"timeline":
{
"headline":"Sh*t People Say",
"type":"default",
"text":"People say stuff",
"startDate":"10/4/2011 15:02:00",
"date": [
{
"startDate":"10/4/2011 15:10:00",
"endDate":"10/4/2011 15:55:00",
"headline":"prvo",
"text":"<p>dddddddddddddddd dd</p>",
"asset":
{
"caption":"yessss"
}
},
{
"startDate":"10/4/2011 17:02:00",
"endDate":"10/4/2011 18:02:00",
"headline":"drugo da da",
"text":"<p>In true political fashion, his character rattles off common jargon heard from people running for office.</p>",
"asset":
{
"media":"http://youtu.be/u4XpeU9erbg",
"credit":"",
"caption":""
}
}
]
}
}'
但不起作用。我真的不知道究竟什么是探测器......请帮助。
所以这是真正的Timeline插件,这个插件需要JSON作为源代码,但有没有办法用Javascript变量来改变源代码?
答案 0 :(得分:1)
你写这个的方式,“timeline_config.source”的值是一个String,而不是一个“可用的”Javascript对象。
您可能需要使用JSON.parse()将字符串转换为对象。所以添加这行代码作为第一行的最后一行&lt;脚本&gt;块。
timeline_config.source = JSON.parse(timeline_config.source)
或者,正如评论中所指出的,你可以简单地删除字符串周围的单引号,它本身就是一个JS对象。
答案 1 :(得分:1)
尝试删除'字符串分隔符,所以它说
source: {
"timeline": { ... }
},
这样它就是一个JS对象,而不是一个字符串。