• 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

  • 相关阅读:
    【转】编写高质量代码改善C#程序的157个建议——建议123:程序集不必与命名空间同名
    【转】编写高质量代码改善C#程序的157个建议——建议122:以<Company>.<Component>为命名空间命名
    【转】编写高质量代码改善C#程序的157个建议——建议121:为应用程序设定运行权限
    【转】编写高质量代码改善C#程序的157个建议——建议119:不要使用自己的加密算法
    【转】编写高质量代码改善C#程序的157个建议——建议118:使用SecureString保存密钥等机密字符串
    看后有感,请努力吧,趁年轻
    springmvc图片上传
    七月份,工作总结
    switch… case 语句的用法
    ibatis动态查询
  • 原文地址:https://www.cnblogs.com/likeli/p/4016140.html
Copyright © 2020-2023  润新知