图一:
1、动态时间轴的长短根据起止时间来定的,就是说如果时间更长,结束点有可能继续往下(拐弯)走;
2、灰色表示整个轴的长度,渐变(彩)色表示实际进度;
3、时间轴上的小圆点也是动态的,表示某一天对应的位置;
4、点击时间轴上的白色小圆点,会弹出对应的下拉卡片,卡片有堆叠效果,表示可以继续展开,点击卡片上的蓝色小圆点,则继续展开内容;
图二:
1、点击卡片上蓝色小圆点,展示详细内容,时间轴及其他卡片处于高斯模糊状态,以突出当前选中的卡片及其详细内容。
实现要求:
图一、图二里面的说明就是UI需要实现的效果,另外就是整个时间轴内容需要可以方法、缩小、拖拽;
思路及想法:
昨天研究了一天,发现用常规的 css 技术连 “图一” 的时间轴都无法做到,所以来请教下大家有什么要建议,我的想法有两种:
1、通过canvas
技术来实现时间轴(灰色轨迹和渐变色的实际进度)图
,把canvas
图当作背景图片,然后通过绝对定位,把开始
、结束
、每天一天对应的点都打上去,然后放到缩小、拖拽等所有其他逻辑通过css
、js
技术实现;
2、整个效果
、交互
都通过canvas
来实现,但是对于canvas美什么经验,不敢轻易使用;
请教下大家有什么好的意见或建议,或者好的canvas操作库等,谢谢!
https://jsrun.net/3YJKp/edit
SVG画起来感觉还好,难到不难,就是比较繁琐。。。 最好找下看有什么第三方库,简化操作