我在我的应用程序中使用时间轴JS,根据日期显示两种类型的报告。它工作正常但是当报告数据的数量越多时,很难找到哪个报告属于哪个类别。所以我想在时间标记中使用不同的文字颜色来区分2种类型。
Type 1. #9467bd
Type 2. #8c651c
但我无法动态设置文字颜色。我已经参考了时间线JS文档,发现可以通过使用此类名称.tl-timemarker来更改 timemarker - 颜色。但我不知道设置两种不同的颜色。Timeline JS Doc
请在此处参阅我的代码:
HTML代码:
<div id="my-timeline"></div>
<button id='myBtn'>start</button>
JS代码:
$('#myBtn').click(function() {
var data = {
"timeline":
{
"headline":"Test Company",
"type":"default",
"text":"Test Reports",
"startDate":"2010",
"date": [
{
"startDate" : "2010,9,1",
"text":"Type 1",
"headline":"Test Header",
"asset":
{
"media": "PDF link",
"credit": "View Doc",
"caption":"Caption text goes here"
}
},
{
"startDate":"2011,10,12",
"text":"Type 2",
"headline":"Test Header",
"asset":
{
"media": "PDF link",
"credit": "View Doc",
"caption": ""
}
},
{
"startDate":"2011,10,12",
"text":"Type 2",
"headline":"Test Header",
"asset":
{
"media": "PDF link",
"credit": "View Doc",
"caption": ""
}
},
{
"startDate":"2011,10,12",
"text":"Type 2",
"headline":"Test Header",
"asset":
{
"media": "PDF link",
"credit": "View Doc",
"caption": ""
}
},
{
"startDate":"2011,10,12",
"text":"Type 1",
"headline":"Test Header",
"asset":
{
"media": "PDF link",
"credit": "View Doc",
"caption": ""
}
},
{
"startDate":"2011,10,12",
"text":"Type 2",
"headline":"Test Header",
"asset":
{
"media": "PDF link",
"credit": "View Doc",
"caption": ""
}
}
]
}
};
loadData(JSON.stringify(data));
});
function loadData(json){
addCode('jsFile='+json);
createStoryJS({
type: 'timeline',
width: '800',
height: '600',
source: jsFile,
embed_id: 'my-timeline'
});
}
//addCode(code) will create a script element and add code to it
function addCode(code){
var JS= document.createElement('script');
JS.text= code;
document.body.appendChild(JS);
}
答案 0 :(得分:0)
我不确定我完全理解你的任务,但让我试一试。我有一个项目,我需要在事件文本项中包含混合自定义样式。我确实对.tl CSS样式进行了一些自定义(重载),但主要是将span
标记添加到JSON数据中,然后通过CSS设置样式。 (见下面的例子)
如果你可以区分你的1型和1型,那么可以“模板化”这个。 2通过代码 - 或者只是为text
项的JSON添加一个额外的属性。您可以添加所需的任何属性,时间轴代码不关心。然后,您可以使用一些模板库(如Handlebars)将span
标记添加到您的JSON数据中。
"text": {
"headline": "<span class ='vTime'>00:14:54</span><br>
<span class ='cTime'>00:00:00</span>",
"text": "<span class ='narrative'>Stops swimming.</span>"
}
.vTime {
font-size: 40px;
line-height: 48px;
color: white;
}
.cTime {
font-size: 40px;
line-height: 48px;
color: yellow;
}
.narrative {
font-size: 26px;
line-height: 30px;
color: white;
}