HTML5+CSS3+Jquery实现纯手工的垂直时光轴【附源码】
前言
由于工作中需要,系统中需要记录不同时间发生的事件,为了提升用户体验,决定用时光轴来实现。[据说这个东西挺火的,QQ空间和FB都在用...]
这个时光轴是在 三生石上 这位博主的时光轴基础上修改的,可以称之为增强版吧!
兼容性
Firefox、chrome、360急速、360安全浏览器、IE8,其他的没测试,不过IE上的兼容有些问题。
效果预览
操作演示
实现过程
我是做后端的,所以,页面设计的并不是很好看来着。大家可以自己修改页面。
1、布局
页面布局不多说了,就是纯DIV+CSS实现的,没有什么特殊的。在每一个时间轴的节点上,有一个大的DIV层 (id=content201301) ,这里content是固定字段,后面的是这个节点的年月,这部分是实现点击左上角的年月可以自动定位到这个DIV高度的。 另外这种拼接方式也方便之后的后台套用模板。然后,这个大的DIV层里面有若干小的DIV层(Id=divCount),这里的ID是固定了,用来存放内容,另外给这些层添加浮动float:left效果。
2、缩放
接下来是实现收缩,缩放功能用了jQuery的slideDown()、slideUp()方法,进行了一下简单的缩放动画。
3、时间节点上的图标动画
这个图标使用了CSS3的旋转,代码如下:
1 ul.timeline li .number .hand_img 2 { 3 margin-top:3px; 4 cursor:pointer; 5 zoom:1; 6 -webkit-transition: -webkit-transform 0.8s ease-in; 7 -moz-transition:-moz-transform 0.8s ease-in; 8 -o-transition:-o-transform 0.8s ease-in; 9 transition:transform 0.8s ease-in; 10 } 11 12 .Rotation 13 { 14 -moz-transform:rotate(90deg); 15 -webkit-transform:rotate(90deg); 16 -o-transform:rotate(90deg); 17 transform:rotate(90deg); 18 filter: 19 progid:DXImageTransform.Microsoft.BasicImage(rotation=2); 20 }
这样,两个连贯的动画,基本上就实现了。很简单把。
4、HTML5网页视频
由于可能会有视频,所以就内嵌了一个HTML5的播放器,不过,这种播放器需要浏览器的支持!
这里使用了video.js这个HTML播放器,导入video.js 、video.css,具体配置,在源码里面写了。
1 <script src="video/video.js"></script> 2 <video id="video_2" class="video-js vjs-default-skin" controls preload="none" poster="video/Resources/3.png" width="640" height="364" data-setup='{"example_option":true}'> 4 <source src="video/Resources/3.mp4" type='video/mp4' /> 5 <track kind="captions" src="voideo/captions.vtt" srclang="en" label="English" /> 6 </video>
5、左上角的迷你时间菜单
这部分不细说了,一笔带过了。这个迷你的时间轴,就是嵌套的两个Ul做成的菜单,设置样式还有使用jQuery的动画方法就能完成,还是不太明白的话,源码里面也写了,也加了注释。
后记
刚开始决定写时光轴的时候,在网上到处找jQuery插件,后来在三生石的博客里面看见了他写的文章,点醒了我,这种功能,完全可以自己纯手写的,动画并不复杂,而且网上的jQuery插件有的太臃肿。结果,一上午就写完了,事实证明,靠自己还是行的通的!
由于这个模块是自己完全手写的,今后需要修改,可以很方便进行修改!要是用的网上的jQuery的插件,那可就惨了...
相关资源
HTML5+CSS3+Jquery实现纯手工的垂直时光轴【威力增强版】:http://download.csdn.net/detail/a406502972/8021863
Github地址:https://github.com/CBDlkl/TimeAxis
注:解压密码:HTML5
作者:Li keli
出处:https://www.cnblogs.com/likeli/p/4016140.html
本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位置注明作者及出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?